29. april 2009 - 23:33Der er
16 kommentarer og 1 løsning
Tjek om tal-fejl er udfyldt
Hejsa. Jeg har en inputform, hvor der SKAL indtastes et tal, og det indtastede tal, må gerne være "0" Men denne kode, giver altså en fejlmelding, når der er indtastet "0": Hvad skal der til, for at "0" accepteres. (Jeg ved godt, at man bare kan skrive "00", men jeg vil gerne at "0" accepteres.
if(isset($_POST['depositum']) && empty($_POST['depositum'])) { $fejl = "$fejl Du skal udfylde feltet \"Depositum\"."; }
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hov jeg kom da lige til at tænke på at [i]if(isset($_POST['depositum']))[/I] burde være nok, da isset jo netop tjekker for om feltet er NULL eller ej :)
#4 Ja det er mig der er ved at være træt, isset vil altid være true, da du har udført formen og derved sendt feltet
Empty er TRUE ved følgende kriterier: * "" (an empty string) * 0 (0 as an integer) * "0" (0 as a string) * NULL * FALSE * array() (an empty array) * var $var; (a variable declared, but without a value in a class)
Jeg ville gå med:
if($_POST['depositum'] == "") { $fejl = "$fejl Du skal udfylde feltet Depositum."; }
#6 Hvis du gerne vil lave noget der klare alle punkter i #6 i en sætning, så skal du benytter dig af preg_match og regular expressions:
if (preg_match("/^[0-9\.]+$/", $_POST['depositum'])) { echo "depositum indeholder et tal, med eller uden ."; } else { echo "depositum indeholder ikke et tal"; }
Du kan ændre . til , i "/^[0-9\.]+$/" hvis der bruges komma og ikke punktom ved decimal tal...
#8 Jeg ville råde dig til at lave en isset på din submit knap, og herinde under tjekke dine felters indhold:
if(isset($_POST['submit'])) { if($_POST['depositum'] == "") { echo "Der er IKKE noget i feltet depositum"; } else { echo "Der er noget i feltet depositum"; } }
Det er vel ikke løsningen, for den accepterer også ret sjove ting. Jeg venter egentlig blot på at spørgeren præcist formulerer hvad et "tal" er. Men det er ligemeget hvis spørgeren er tilfreds med de hidtidige svar.
Og jeg skal lige tilføje, at $_POST['depositum'] også har været igennem en konvertering fra dansk til engelsk, som jeg efterfølgende har kaldt $depositum.
#14 Undskyld det skal selvfølgelig være: /^[0-9]*[\.]?[0-9]+$/
Men så acceptere den også kun tal eller .tal eller tal.tal Ikke flere "sjove" ting...
Synes godt om
Ny brugerNybegynder
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.