Witam,
Stworzyłem prosty skrypt ankiety którego celem jest pobranie danych i wysłaniem ich na maila, starałem się napisać go obiektowo jednakże dopiero uczę się pisać obiektowo. Proszę o rady doświadczonych programistów, co mogę zrobić lepiej?

Plik z formularzem(index.php):

  1. <!DOCTYPE html>
  2. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  3. <title>Ankieta</title>
  4. </head>
  5.  
  6. <form action="engine.php" method="get">
  7. <table >
  8. <tr>
  9. <td colspan="3">1. How do you know about our website?</td>
  10. </tr>
  11. <tr>
  12. <td>Internet<input type="radio" name="strona" value="internet"></td>
  13. <td>TV<input type="radio" name="strona" value="TV"></td>
  14. <td>Friends<input type="radio" name="strona" value="Friends"></td>
  15. </tr>
  16.  
  17. <tr>
  18. <td colspan="3">2. How do you evaluate our website?</td>
  19. </tr>
  20. <tr>
  21. <td>Bad<input type="radio" name="uslugi" value="bad"></td>
  22. <td>Middling<input type="radio" name="uslugi" value="Middling"></td>
  23. <td>Good<input type="radio" name="uslugi" value="Good"></td>
  24. </tr>
  25.  
  26. <tr>
  27. <td colspan="3">3. What is your sex?</td>
  28. </tr>
  29. <tr>
  30. <td>Male<input type="radio" name="sex" value="male"></td>
  31. <td>Female<input type="radio" name="sex" value="female"></td>
  32. </tr>
  33.  
  34. <tr>
  35. <td colspan="10">4. What are you interested in?</td>
  36. </tr>
  37. <tr>
  38. <td>Football<input type="checkbox" name="zainteresowanie[]" value="football"></td>
  39. <td>Basetball<input type="checkbox" name="zainteresowanie[]" value="basketball"></td>
  40. <td>TV<input type="checkbox" name="zainteresowanie[]" value="tv"></td>
  41. <td>PC games<input type="checkbox" name="zainteresowanie[]" value="computer games"></td>
  42. <td>Swimming<input type="checkbox" name="zainteresowanie[]" value="swimming"></td>
  43. </tr>
  44. <tr>
  45. <td colspan="10" align="center"><input type="submit" name="wyslij" value="Wyślij"></td>
  46. </tr>
  47.  
  48. </table>
  49.  
  50.  
  51. </form>
  52.  
  53.  
  54. </body>
  55. </html>


Plik ze skryptem(engine.php):
  1. <meta charset="utf-8"/>
  2. <?php
  3. require_once('index.php');
  4. class ankieta
  5. {
  6. var $k=0, $strona, $uslugi, $sex, $zainteresowania;
  7. function czyWyslano()
  8. {
  9. if (isset($_GET['wyslij']))
  10. {
  11. $this->pobierzDane();
  12. }
  13. }
  14. function pobierzDane()
  15. {
  16. if(!empty($_GET['strona'])){
  17.  
  18. $this->strona = $_GET['strona'];
  19. } else $this->k=$this->k+1; //zmienna k informuje o pustym polu
  20.  
  21. if(!empty($_GET['uslugi'])){
  22.  
  23. $this->uslugi = $_GET['uslugi'];
  24. } else $this->k=$this->k+1;
  25.  
  26. if(!empty($_GET['sex'])){
  27.  
  28. $this->sex = $_GET['sex'];
  29. } else $this->k=$this->k+1;
  30.  
  31. if(!empty($_GET['zainteresowanie'])){
  32. for ($i=0;$i<5;$i++){
  33. if(isset($_GET['zainteresowanie'][$i]) && !empty($_GET['zainteresowanie'][$i]))
  34. $this->zainteresowania[] = $_GET['zainteresowanie'][$i]; //Obsługa checkbox
  35. }
  36. } else $this->k=$this->k+1;
  37. if ($this->k==0){ //Sprawdzenie czy odpowiedziano na wszystkie pytania
  38. $this->wyslijMaila();
  39. } else {
  40. echo("Answer all questions!");
  41. }
  42.  
  43. }
  44. function wyslijMaila()
  45. {
  46. $zainteresowania = implode(', ',$this->zainteresowania); //Połączenie tablicy w string w celu wysłania danych mailem
  47. $zawartosc = "ad1 : ".$this->strona."\n".
  48. "ad2 : ".$this->uslugi."\n" .
  49. "ad3 : ".$this->sex."\n".
  50. "ad4 :".$zainteresowania;
  51. mail('xxx@gmail.com','Ankieta',$zawartosc);
  52. echo("Thanks for your time!");
  53.  
  54. }
  55. }
  56.  
  57. $nowaankieta= new ankieta;
  58. $nowaankieta->czyWyslano();
  59.  
  60. ?>