Just nu i M3-nätverket
Gå till innehåll

Formulärvalidering i PHP m. preg_match og if-else


lillelinn

Rekommendera Poster

Jeg har skrevet en validering i PHP ved hjelp av preg_match. Valideringen fungerer ypperlig, men If-else satsen som skal utföre valideringen returnerer TRUE; selv om verdiene i formuläret ikke har oppnådd kriteriene satt i det regjuläre utrykket..

Hva kan väre feil? Setter enorm stor pris på hjelp fra noen her!

 

Her er kodesnutten jeg har skrevet:

 

$reg_mail='/\w+[@]\w+[.]\w/';

$reg_zip='/\d{3}\s\d{2}/';

$reg_licens='/^[a-z]{3}[ ]?[0-9]{3}$/i';

 

if(preg_match($reg_mail, $e_mail))

{

echo"funker";

echo"Stemmer1";

 

if(preg_match($reg_zip, $zip_code))

{

echo"funker";

echo"Stemmer2";

 

if(preg_match($reg_licens, $reg_nr))

{

echo"funker";

echo"Stemmer3";

return true;

}

 

else

{

echo"Stemmer ikke3";

return false;

}

 

}

 

else

{

echo"Stemmer ikke2";

return false;

}

 

}

 

else

{

echo"Stemmer ikke1";

return false;

}

 

//lillelinn

 

 

Länk till kommentar
Dela på andra webbplatser

  • 4 months later...
Patrik Gissberg

Detta funkar:

 

<?

$reg_mail='/\w+[]\w+[.]\w/';

$reg_zip='/\d{3}\s\d{2}/';

$reg_licens='/^[a-z]{3}[ ]?[0-9]{3}$/i';

 

$e_mail="patrik@gissberg.nu";

$zip_code="852 36";

$reg_nr="abc123";

 

if(preg_match($reg_mail, $e_mail)) {

echo "1 Stemmer, ";

} else {

echo "1 Stemmer ikke, ";

$error=true;

}

 

if(preg_match($reg_zip, $zip_code)) {

echo "2 Stemmer, ";

} else {

echo "2 Stemmer ikke, ";

$error=true;

}

 

if(preg_match($reg_licens, $reg_nr)) {

echo "3 Stemmer, ";

} else {

echo "3 Stemmer ikke, ";

$error=true;

}

 

if(isset($error)) {

echo "Validering misslyckades!";

} else {

echo "Validering lyckades!";

}

?>

 

Dock tror jag du kommer få problem med zip-valideringen som kräver ett mellanslag efte dom tre första siffrorna. Alltså 85236 ger fel, medans 852 36 fungerar. Jag själv skriver utan mellanslag!

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...