ronron25 Skrevet 27. oktober 2018 Del Skrevet 27. oktober 2018 Noen som klarer å se hva som er feil med koden? <html><body><form action="faan2.php" method="post" ><input type="text" name="navn" /><input type="submit" name="inn" / > </form></body></html> Side 2: <?phpif(isset ($_POST['inn'])){ $brukernavn = $_POST['navn']; echo $brukernavn;}else{ echo "Skriv inn ditt navn";}?> Ønska output er at else skriver ut følgende: "Skriv inn ditt navn" når det ikke skrives noe inn i feltet og man klikker på submit knappen. Programmet skriver ut navnet, men skiver altså ikke ut det som står i else. Lenke til kommentar
Emsal Skrevet 27. oktober 2018 Del Skrevet 27. oktober 2018 Det er fordi du ikke sjekker om brukeren har skrevet et navn eller ikke. Lenke til kommentar
ronron25 Skrevet 27. oktober 2018 Forfatter Del Skrevet 27. oktober 2018 Det er fordi du ikke sjekker om brukeren har skrevet et navn eller ikke Hvis det er dette du mener: <?php if(isset ($_POST['navn'])) { $brukernavn = $_POST['navn']; echo $brukernavn; } else { echo "Skriv inn ditt navn"; } Så funker ikke det heller? Lenke til kommentar
Emsal Skrevet 27. oktober 2018 Del Skrevet 27. oktober 2018 Kjør print_r($_POST) så vil du se hvorfor du ikke kan bruke isset for å sjekke om brukeren har skrevet et navn eller ikke. Lenke til kommentar
Thorbear Skrevet 27. oktober 2018 Del Skrevet 27. oktober 2018 (endret) Er en stund siden jeg har brukt PHP, men jeg vil tro dette kommer av en misforståelse av hvordan `isset()` fungerer.`isset()` sjekker om en variabel er satt, altså at den ikke er `NULL`. Om du har trykket "submit" på en side der `navn` var definert, så er nok dette sendt videre som verdien "" (en tom tekst) som er forskjellig fra `NULL`. Dette kan verifiseres ved å legge inn en `var_dump($_POST['navn'])` som vil fortelle deg om verdien er en `String(0)` eller `NULL`. Deretter kan du bytte ut `if(isset(...))` med `if(!empty(...))` for å oppnå ønsket resultat. Endret 27. oktober 2018 av Thorbear 1 Lenke til kommentar
ronron25 Skrevet 27. oktober 2018 Forfatter Del Skrevet 27. oktober 2018 Takk for svar! Kan ikke være XAMPP som er problemet? Har nettopp kjørt en annen kode som jeg vet er riktig, med samme resultat? Lenke til kommentar
Emsal Skrevet 27. oktober 2018 Del Skrevet 27. oktober 2018 (endret) Funker dette? echo ($_POST['navn'] ? $_POST['navn'] : 'Skriv inn ditt navn'); Endret 27. oktober 2018 av Emsal 1 Lenke til kommentar
5YN6PQB1 Skrevet 27. oktober 2018 Del Skrevet 27. oktober 2018 Bytt ut if(isset ($_POST['inn'])) med if(isset ($_POST['inn']) && $_POST['inn']!=null) så virke det nok 1 Lenke til kommentar
ronron25 Skrevet 28. oktober 2018 Forfatter Del Skrevet 28. oktober 2018 Bytt ut if(isset ($_POST['inn'])) med if(isset ($_POST['inn']) && $_POST['inn']!=null) så virke det nok Nope, funka ikke, men dette funker: <?php if(!empty ($_POST['navn'])) { $navn = $_POST['navn']; echo $navn; } else { $navn=NULL; echo "Du må skrive inn ditt navn"; } Takk for svar folkens! Lenke til kommentar
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å