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):
<!DOCTYPE html>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<form action="engine.php" method="get"> <td colspan="3">1. How do you know about our website?
</td> <td>Internet
<input type="radio" name="strona" value="internet"></td> <td>TV
<input type="radio" name="strona" value="TV"></td> <td>Friends
<input type="radio" name="strona" value="Friends"></td>
<td colspan="3">2. How do you evaluate our website?
</td> <td>Bad
<input type="radio" name="uslugi" value="bad"></td> <td>Middling
<input type="radio" name="uslugi" value="Middling"></td> <td>Good
<input type="radio" name="uslugi" value="Good"></td>
<td colspan="3">3. What is your sex?
</td> <td>Male
<input type="radio" name="sex" value="male"></td> <td>Female
<input type="radio" name="sex" value="female"></td>
<td colspan="10">4. What are you interested in?
</td> <td>Football
<input type="checkbox" name="zainteresowanie[]" value="football"></td> <td>Basetball
<input type="checkbox" name="zainteresowanie[]" value="basketball"></td> <td>TV
<input type="checkbox" name="zainteresowanie[]" value="tv"></td> <td>PC games
<input type="checkbox" name="zainteresowanie[]" value="computer games"></td> <td>Swimming
<input type="checkbox" name="zainteresowanie[]" value="swimming"></td> <td colspan="10" align="center"><input type="submit" name="wyslij" value="Wyślij"></td>
Plik ze skryptem(engine.php):
<meta charset="utf-8"/>
<?php
require_once('index.php');
class ankieta
{
var $k=0, $strona, $uslugi, $sex, $zainteresowania;
function czyWyslano()
{
if (isset($_GET['wyslij'])) {
$this->pobierzDane();
}
}
function pobierzDane()
{
if(!empty($_GET['strona'])){
$this->strona = $_GET['strona'];
} else $this->k=$this->k+1; //zmienna k informuje o pustym polu
if(!empty($_GET['uslugi'])){
$this->uslugi = $_GET['uslugi'];
} else $this->k=$this->k+1;
if(!empty($_GET['sex'])){
$this->sex = $_GET['sex'];
} else $this->k=$this->k+1;
if(!empty($_GET['zainteresowanie'])){ for ($i=0;$i<5;$i++){
if(isset($_GET['zainteresowanie'][$i]) && !empty($_GET['zainteresowanie'][$i])) $this->zainteresowania[] = $_GET['zainteresowanie'][$i]; //Obsługa checkbox
}
} else $this->k=$this->k+1;
if ($this->k==0){ //Sprawdzenie czy odpowiedziano na wszystkie pytania
$this->wyslijMaila();
} else {
echo("Answer all questions!"); }
}
function wyslijMaila()
{
$zainteresowania = implode(', ',$this->zainteresowania); //Połączenie tablicy w string w celu wysłania danych mailem $zawartosc = "ad1 : ".$this->strona."\n".
"ad2 : ".$this->uslugi."\n" .
"ad3 : ".$this->sex."\n".
"ad4 :".$zainteresowania;
mail('xxx@gmail.com','Ankieta',$zawartosc); echo("Thanks for your time!");
}
}
$nowaankieta= new ankieta;
$nowaankieta->czyWyslano();
?>