ugrás a tartalomhoz

Egy kis űrlap

RockerBandy · 2009. Júl. 29. (Sze), 09.22
Adjon Isten, Sziasztok
Következő volna a kérdésem:
Csináltam egy egyszerűbb űrlapot, és szeretném leellenőrizni a beviteleket.

Három oszlopot csináltam, a harmadikban szeretném megjeleníttetni a hibaüzeneteket.
Így néz ki a kódsor:
<table border="1" width="900">
<form <? print" method='POST' action='$_SERVER[PHP_SELF]' ";?>>
<tr><td colspan="3" align="center">Főcím</td>
</tr>
<tr>
<td width="150">Vásárló Neve</td>
<td><input type="text" name="nev"></td>
<td width="550"><font color="red"><? if (isset($nevhiba)){print "$nevhiba";} ?></font></td>
</tr>
<tr>
<td>Használt Nick</td>
<td><input type="text" name="nick"></td>
<td><font color="red"><? if (isset($nickhiba)){print "$nickhiba";} ?></font></td>
</tr>

<tr>
<td>E-Mail Cím:</td>
<td><input type="text" name="e-mail"></td>
<td><font color="red"><? if (isset($mailhiba)){print "$mailhiba";} ?></font></td>
</tr>
<tr>
<td>Átvétel módja</td>
<td>
<input type="radio" name="szallit" value="otthon">Házhoz Szállítással<br>
<input type="radio" name="szallit" value="boltban">Átveszem a boltban
</td>
<td><font color="red"><? if (isset($atvethiba)){print "$atvethiba";} ?></font></td>
</tr>
<tr>
<td>Termékválasztás:</td>
<td><select multiple name="erdeklodes[]">
<option name="menupont_0" value="0">Termék1 - 1.5oo,-
<option name="menupont_1" value="1">Termék2 - 8oo,-
<option name="menupont_2" value="2">Termék3 - 3.ooo,-
<option name="menupont_3" value="3">Termék4 - 3o.ooo,-
<option name="menupont_4" value="4">Termék5 - 6.ooo,-
<option name="menupont_5" value="5">Termék6 - 4ooo,-
<option name="menupont_6" value="6">Termék7 - 8ooo,-
</select><br>Az árak forintban értendők, és az áfát tartalmazzák</td>
<td><font color="red"><? if (isset($valaszthiba)){print "$valaszthiba";} ?></td>
</tr>
<tr>
<td colspan="3">
<input type="checkbox" name="megfelel" value="igen">Mindent kifizetek dupla áron, és mégis mindent megtarthattok. :)<br>
<font color="red"><? if (isset($hitelhiba)){print "$hitelhiba";} ?></font>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="submit" value="Ezt kérem" name="GO">
<input type="reset" value="Nem kérek semmit">
<input type="button" value="Kosár" onclick=URL="kosar.php" disabled="disabled">
</td>
</tr>
</form>
</table>



Eddig tart maga az űrlap, a gomb elküldi önmagának az adatokat, leellenőrzi, és visszadobja az oldalt, fenn ugye behelyettesítve a változókat.
Itt pedig az ellenőrzés kezdete, valamit nagyon elszúrtam, úgy vélem, mert nagyon nem akar engedelmeskedni :)

<?php
if(isset($_POST['GO'])){

if($_POST['nev']==""){$nevhiba="Hiányzik a Név";}
elseif(!isset($_POST['nick'])){$nickhiba="Hiányzik az azonosító";}
elseif(!isset($_POST['megfelel'])){$hitelhiba="Kötelező elfogadni";}
elseif(!isset($_POST['e-mail'])){$mailhiba="Adj meg egy ímélt is";}
elseif(!isset($_POST['szallit'])){$atvethiba="Valahogy át kell venned...";}
else{print "minden ok."; }
}

?>


Gyakorlatilag amikor lenyomom a gombot, semmit nem csinál.
Mit hagytam ki, és főleg honnan?
Vagy az egészet át kell struktúrálnom, így nem is fog működni?

Válaszotok köszönöm:

Bandi
 
1

Szerintem ott követed el a

Baldric · 2009. Júl. 29. (Sze), 10.35
Szerintem ott követed el a hibát, hogy a form ellenőrzését és ezzel együtt a hibaüzenetek változóinak feltöltését a form kiírása után végzed el, a php-s kódrészletet tedd felülre.
De így sem lesz tökéletes, az ellenőrzés struktúrája miatt mindig csak egy hibát fogsz visszakapni, ha ki akarod íratni azt is hogy minden ok és nincs kedved tömbbel kínlódni, akkor csinálj egy error változót, sorban ellenőrizd az if-ekkel a mezőket (nem kell else ág), ha valamelyikben hiba van, akkor az error változó legyen true, és a végén ha az error true, akkor megszakítod a feldolgozás további műveleteit és kiírod a hibákat, egyébként pedig azt hogy minden ok.
Én máshogy csinálnám még a form html struktúráját is, nem szeretem ha egy form táblázatban van, de ízlések és pofonok...

ui.: máskor légyszíves használj colorer-t

Üdv
Gábor
2

Köszönöm

RockerBandy · 2009. Júl. 29. (Sze), 10.48
Köszönöm szépen, a Sorrend-módosítás hangszórót nyert :)

Csinálom a többit is.
És a Colorert is most találtam meg, hogy felhívtad rá a figyelmem
3

Szívesen

Baldric · 2009. Júl. 29. (Sze), 11.23
Szívesen