06. oktober 2003 - 10:31
Der er
6 kommentarer og 1 løsning
Validering af form igen igen
Hej med jer, Jeg er stødt på et problem som jeg har brug for jer, eksperters hjælp til: Jeg har forsøgt vha. php at validere nedenstående nykunde.php, men lige meget hvad hej forsøger kan jeg ikke få det til at virke. Jeg har prøvet med diverse løsninger fra svar her på sitet, men jeg synes ikke at noget hjælper. Kunne der mon ikke findes en "hjerne" som kan hjælpe mig MasterC nykunde.php <html> <head> <title>Opret kunde</title> </head> <body> <p> </p> <center> <form name="form1" method="get" action="dbupdcust.php"> <fieldset style="padding: 2; width:689; height:225"> <legend>Opret kunde</legend> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="27%">Kontakt</td> <td width="73%"> <input type="text" name="att" size="57" maxlength="100"></td> </tr> <tr> <td width="27%">Kunde navn</td> <td width="73%"> <input type="text" name="name" size="57" maxlength="100"></td> </tr> <tr> <td width="27%">Adresse</td> <td width="73%"> <input type="text" name="address" size="57" maxlength="150"></td> </tr> <tr> <td width="27%">Postnummer og by</td> <td width="73%"> <input type="text" name="zip" size="5" maxlength="4"> <input type="text" name="city" size="30" maxlength="100"></td> </tr> <tr> <td width="27%">Telefon</td> <td width="73%"> <input type="text" name="phone" size="9" maxlength="8"></td> </tr> <tr> <td width="27%">Mobil</td> <td width="73%"> <input type="text" name="cell" size="9" maxlength="8"></td> </tr> <tr> <td width="27%">E-Mail</td> <td width="73%"> <input type="text" name="email" size="57" maxlength="100"></td> </tr> <tr> <td width="27%"> </td> <td width="73%"> </td> </tr> </table> </fieldset><p><input type="submit" value="Tilføj " name="B1"> <input type="reset" value="Reset" name="B2"></p> </form> </center> </body> </html>
Annonceindlæg fra HP
06. oktober 2003 - 10:46
#1
kan du ikke forklare dyber, hvad du forventer ved validering FX: -skal den kunne returner til formen og mækerer hvad der er forkert....
06. oktober 2003 - 10:51
#2
Mit problem er at jeg overhovedet ikke kan få kørt noget som helst kode når jeg submitter :-( Jeg har fundet eksempler på kontroller af felterne, men jeg kan som før nævnt ikke få noget kode kørt. Når et felt er forkert skal jeg have en rød fejltekst under formen - det var i hvertfalde min ide
06. oktober 2003 - 11:52
#3
hvorfor bruger du GET i formen?? prøv at laven den om til PHP_SELF: <form name="form1" method="get" action="<?php echo $_SERVER[]; ?>"> Kan du finde ud af at benytte classes - for der er en artikel på devarticles.com omkring en "formclassvalidator" eller noget i den stil - og den er ret fiks. du kkan selv følgelige lave noget if/else med f.eks: (nu bruger du jo GET) if($_GET['att'] ==""){ echo "hov du kontakt SKAL udfyldes"; }
06. oktober 2003 - 14:22
#4
Ville jo være nemmere hvis du viste hvordan du håndterer en submit, i stedet for bare formen. Men hvad med dette: <?php session_start(); $message = "Feltet er ikke udfyldt!"; function tjekform($var) { global $message; if(isset($_SESSION[$var])) { if($_SESSION[$var] == $message) { echo"<br>\n<font color=\"red\" size=0.9em\">". $_SESSION[$var] ."</font>"; }else{ echo" value=\"". $_SESSION[$var] ."\""; } unset($_SESSION[$var]); } } if(isset($_POST["nykunde"])) { $_SESSION["fejlnr"] = 0; $_SESSION["antal"] = 0; foreach($_POST as $key=>$value) { $_SESSION["fejlnr"]++; if(trim($value) == "") { $_SESSION["antal"]++; $_SESSION[$key. $_SESSION["fejlnr"]] = $message; }else{ $_SESSION[$key] = $value; } } header("Location:". $_SERVER["PHP_SELF"] .""); exit; } ?> <html> <head> <title>Opret kunde</title> </head> <body> <center> <?php if(isset($_SESSION["antal"])) { if($_SESSION["antal"] != 0) { echo"<b>Du mangler at udfylde nogle felter!</b><p>"; unset($_SESSION["antal"]); } } ?> <form name="form1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <input type="hidden" name="nykunde" value="true"> <fieldset style="padding: 2; width:689; height:225"> <legend>Opret kunde</legend> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <tr> <td width="27%">Kontakt</td> <td width="73%"> <input type="text" name="att" size="57"<?php tjekform("att"); ?> maxlength="100"><?php tjekform("att2"); ?></td> </tr> <tr> <td width="27%">Kunde navn</td> <td width="73%"> <input type="text" name="name" size="57"<?php tjekform("name"); ?> maxlength="100"><?php tjekform("name3"); ?></td> </tr> <tr> <td width="27%">Adresse</td> <td width="73%"> <input type="text" name="address" size="57"<?php tjekform("address"); ?> maxlength="150"><?php tjekform("address4"); ?></td> </tr> <tr> <td width="27%">Postnummer og by</td> <td width="73%"> <input type="text" name="zip" size="5"<?php tjekform("zip"); ?> maxlength="4"> <input type="text" name="city" size="30"<?php tjekform("city"); ?> maxlength="100"><?php tjekform("zip5"); tjekform("city6"); ?></td> </tr> <tr> <td width="27%">Telefon</td> <td width="73%"> <input type="text" name="phone" size="9"<?php tjekform("phone"); ?> maxlength="8"><?php tjekform("phone7"); ?></td> </tr> <tr> <td width="27%">Mobil</td> <td width="73%"> <input type="text" name="cell" size="9"<?php tjekform("cell"); ?> maxlength="8"><?php tjekform("cell8"); ?></td> </tr> <tr> <td width="27%">E-Mail</td> <td width="73%"> <input type="text" name="email" size="57"<?php tjekform("email"); ?> maxlength="100"><?php tjekform("email9"); ?></td> </tr> <tr> <td width="27%"> </td> <td width="73%"> </td> </tr> </table> </fieldset><p><input type="submit" value="Tilføj " name="B1"> <input type="reset" value="Reset" name="B2"></p> </form> </center> </body> </html>
06. oktober 2003 - 15:26
#5
07. oktober 2003 - 08:49
#6
Fint svar, kan bruges, jeg fik vidst trykket på afvis - du må lige skrive et eller andet for at jeg kan give dig point!! Tak for hjælpen
07. oktober 2003 - 09:11
#7
ok ;o)
Vi tilbyder markedets bedste kurser inden for webudvikling