Avatar billede mrfunder Nybegynder
04. marts 2010 - 20:24 Der er 4 kommentarer

If statement virker ikke efter hensgten

Hej alle,

Jeg forsøger at lave en if-statement som kun skal køres, hvis der rent faktisk er skrevet noget i post, altså at feltet ikke er tomt.

Hvis der er skrevet noget, skal den så trigger hvis ikke det er et tal samt det er på 8 tegn.

Umiddelbart kan jeg ikke få det til at virke, eftersom hvis man skriver '123' så godkender den det selvom det ikke er de 8 tegn som påkrævet.

if((strlen($_POST['Phone']) > 0 && strlen($_POST['Phone']) < 8) && (!ctype_digit($_POST['Phone']))) {
echo "fejl";
}

Er der nogle der kan se, hvad jeg gør galt?
Avatar billede acore Ekspert
04. marts 2010 - 20:49 #1
Du skal ikke bruge OG (&&) men ELLER (||) i den sidste, og så skal du have flyttet en parentes:

if(strlen($_POST['Phone']) > 0 && (strlen($_POST['Phone'] < 8) || !ctype_digit($_POST['Phone']))) {
echo "fejl";
}
Avatar billede mrfunder Nybegynder
04. marts 2010 - 21:54 #2
Tak for dit svar!

Umiddelbart melder den ingen fejl hvis man skriver '1234'. Jeg ønsker at den skal melde fejl, straks man har skrevet blot ét tegn men under 8. dvs. at er feltet tomt skal den ingen fejl melde.
Avatar billede acore Ekspert
04. marts 2010 - 22:16 #3
Der burde den gøre. Er du sikker på, at du har kopieret det ritigt ind?
Avatar billede showsource Seniormester
05. marts 2010 - 05:10 #4
<?php

$str = "12345678";

if(!ctype_digit($str) || strlen($str) < 8) {
echo"Fejl";
}else{
echo"Ok";
}

?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester