MirusMentis Skrevet 14. september 2007 Skrevet 14. september 2007 (endret) Har en form.php hvor vi skal fylle ut info i en del felter, submit knappen sender dette til en reg.php som skriver innholdet til en mySql base. jeg vil selvsagt ha en sjekk som sjekker at alle felter er fyllt ut Jeg bruker denne løkken for å sjekke dette: PHP if ( isset ( $_POST['navn'] ) && isset ( $_POST['ip'] ) && isset ( $_POST['merke'] ) && isset ( $_POST['modell']) && isset ($_POST['lok'])) { bla bla bla } else echo "Du må fylle ut alle felt"; Poenget er at den utfører "bla bla bla" uansett om jeg fyller ut alle felt eller ikke. Endret 14. september 2007 av rwd-drifter
ventle Skrevet 14. september 2007 Skrevet 14. september 2007 (endret) variabelen blir satt selv om den har tom verdi. bruk strlen() i stedet: PHP <?php if (strlen($_POST['navn']) && strlen($_POST['ip']) && strlen($_POST['merke']) && strlen($_POST['modell']) && strlen($_POST['lok'])) { bla bla bla } else echo "Du må fylle ut alle felt"; ?> Endret 14. september 2007 av ventle
Ekko Skrevet 14. september 2007 Skrevet 14. september 2007 Poenget er at den utfører "bla bla bla" uansett om jeg fyller ut alle felt eller ikke. 9493440[/snapback] Hvis du har feltet på forms-siden din, vil ikke variabelen bli satt til å være blank da? Jeg er ikke sikekr på dette, har ikkem ulighet til å sjekke nå, men legg til en isset ( $_POST['finnesikkeiforms'] ) og se om den godtar det.
Gjest Slettet+142 Skrevet 14. september 2007 Skrevet 14. september 2007 eventuelt bytt ut isset med !empty
MirusMentis Skrevet 14. september 2007 Forfatter Skrevet 14. september 2007 (endret) Har løst det slik: PHP if ( isset ( $_POST['navn'] ) && !empty($_POST['navn']) && isset ( $_POST['ip'] ) && !empty($_POST['ip']) && isset ( $_POST['merke'] ) && !empty($_POST['merke']) && isset ( $_POST['modell']) && !empty($_POST['modell']) && isset ($_POST['lok']) && !empty($_POST['lok'])) { Men skulle gjerne fått scriptet til å si hvilket felt den stopper på, slik at brukern vet hva han har glemt å fylle ut i formen. Endret 14. september 2007 av rwd-drifter
Martin A. Skrevet 14. september 2007 Skrevet 14. september 2007 Da kan du lage en if for hver av feltene. if( empty( $_POST['navn'] ) ) { $msg .= 'Feltet "Navn" er ikke fylt ut<br />'; $error = TRUE; } if( empty( $_POST['merke' ) ) { $msg .= 'Feltet "Merke" er ikke fylt ut<br />'; $error = TRUE; } if( $error === TRUE ) { echo $msg; /* * Vis formen på nytt * Sett value='{$_POST['foo']}' for at tidligere * verdier ikke skal forsvinne. */ } else { /* Do the processing */ }
endrebjo Skrevet 15. september 2007 Skrevet 15. september 2007 Har løst det slik: PHP if ( isset ( $_POST['navn'] ) && !empty($_POST['navn']) && isset ( $_POST['ip'] ) && !empty($_POST['ip']) && isset ( $_POST['merke'] ) && !empty($_POST['merke']) && isset ( $_POST['modell']) && !empty($_POST['modell']) && isset ($_POST['lok']) && !empty($_POST['lok'])) { 9496572[/snapback] Det er ikke vits i å bruke både isset() og !empty(). !empty() sjekker at den både er definert og at det er noe innhold i den (det kan ikke være noe innhold i den uten at den er definert). For å luke ut hvilken som mangler kan du nøste dem sammen. PHP <?phpif (!empty($_POST['navn'])) { if (!empty($_POST['ip'])) { if (!empty($_POST['merke'])) { // GJØR MASSE SKIT } else { echo "Du har ikke fylt ut merke"; } } else { echo "Du har ikke fylt ut ip"; } } else { echo "Du har ikke fylt ut navn"; } ?>
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå