Class Fejl PHP

Diverse d.  18. august. 2009, skrevet af Agurken
Vist: 237 gange.

Agurken
 
Overclocker
Tilføjet:
18-08-2009 18:17:28
Svar/Indlæg:
194/39

Har lavet, et lille opret script med class og functions osv. Men når jeg prøver at validere det og tjekke for fejl, og hvis der så er fejl så skrive det ud. Det sidste gider den ikke.

opret.php
http://pastebin.com/m7f928b80

Det er $error-Call(); der ikke skriver noget ud.

Form.php
http://pastebin.com/m162b509e
micma18
 
Elitebruger
Tilføjet:
18-08-2009 19:13:21
Svar/Indlæg:
4120/115
Personligt ville jeg nok bare have brugt eks. ereg() til at validere inputs med. Men problemet kan nok også godt ligge i at indstillingen for register globals er slået fra som default på nyere versioner af php.

så du ikke sådan umiddelbart kan bruge en variabel som eks. $navn, men skal bruges med $_POST[navn] udformingen, når register globals er slået fra!

Du bruger jo en POST funktion til at sende data til serveren. Ellers skal du bruge:

$_POST[] = for postede data.
$_GET[] = for url data
$_COOKIE[] = for cookie data
osv....

Men som sagt ville jeg nok bare have lavet det sådan her:

if ($_POST[navn] != null && $_POST[alder] != null && $_POST[by] != null){
if (ereg('^[0-9]{1,2}$', $_POST[alder])){

//behandl data her

}
else {
echo "Alder data forkert<br>";
}
}
else {
if ($_POST[navn] == null){
echo "Navn ikke udfyldt<br>";
}
if ($_POST[alder] == null){
echo "Alder ikke udfyldt<br>";
}
if ($_POST[by] == null){
echo "By ikke udfyldt<br>";
}
}


micma18
 
Elitebruger
Tilføjet:
18-08-2009 19:18:30
Svar/Indlæg:
4120/115
Og af sikkerheds grunde, ville nok også have lavet en strip_tags(); på alle input'ene...


Agurken
 
Overclocker
Tilføjet:
18-08-2009 21:01:57
Svar/Indlæg:
194/39
Tak, for svarene. Men er der ikke en måde ligesom min, ved at smide det i en function og kalde det på en måde?


micma18
 
Elitebruger
Tilføjet:
18-08-2009 21:13:54
Svar/Indlæg:
4120/115
Prøv at lave en alternativ process.php fil med ovenstående indhold... Det burde virke uden modifikation.

Tror du er på et vildspor med den første metode, for dine inputs og variabler osv. passer ikke overens, og i mine øjne er der ret mange linier kode, for ikke at gøre ret meget?


Agurken
 
Overclocker
Tilføjet:
19-08-2009 23:01:30
Svar/Indlæg:
194/39
Tak for svaret, men skrottede det og gjorde det på en anden måde 😛