Thomas. Skrevet 26. desember 2007 Del Skrevet 26. desember 2007 (endret) Jeg har satt inn en sånn funksjon i gjesteboken, men unsett om jeg fyller inn eller ikke kommer meldingen. Fyll ut et navn! Ser dere hva som er feil ?: <?php if(isset($_POST['send'])) { if (empty($navn)) { echo 'Fyll ut et navn!'; die(''); } else { $fp = fopen("sider/inc/gjester.txt", "a+"); $linje = $_POST['navn'] . "***---***"; $linje .= $_POST['hilsen'] . "***---***"; $linje .= $_POST['www'] . "***---***"; $linje = str_replace("\r\n", "<br>", $linje); fwrite($fp, $linje); fwrite($fp, "\n"); fclose($fp); echo "<h4>Velykket! Din hilsen er nå lagt til! <a href=\"?y=gb\">Trykk her, for å gå tilbake..</a></h4>"; } } ?> Endret 26. desember 2007 av php_user Lenke til kommentar
Intramin Skrevet 26. desember 2007 Del Skrevet 26. desember 2007 Har du $navn = $_POST['navn']; før den sjekker med empty()? Du trenger heller ikke die() etter meldingen fordi du bruker if og else. Lenke til kommentar
Thomas. Skrevet 26. desember 2007 Forfatter Del Skrevet 26. desember 2007 Skal prøve å gjøre om litt på koden nå.. Lenke til kommentar
Thomas. Skrevet 26. desember 2007 Forfatter Del Skrevet 26. desember 2007 Funker ikke ena Feilmeldingen kommer opp enda, og nå ser koden sånn ut: Ser dere hva som er feiL `? <?php if(isset($_POST['send'])) { $fp = fopen("sider/inc/gjester.txt", "a+"); $linje = $_POST['navn'] . "***---***"; $linje .= $_POST['hilsen'] . "***---***"; $linje .= $_POST['www'] . "***---***"; if (empty($navn)) { echo 'Fyll ut et navn!'; } $linje = str_replace("\r\n", "<br>", $linje); fwrite($fp, $linje); fwrite($fp, "\n"); fclose($fp); echo "<h4>Velykket! Din hilsen er nå lagt til! <a href=\"?y=gb\">Trykk her, for å gå tilbake..</a></h4>"; } ?> Lenke til kommentar
Martin A. Skrevet 26. desember 2007 Del Skrevet 26. desember 2007 (endret) Jammen, du angir jo aldri $navn _FØR_ du bruker det. Betaler du for matvarer før du henter dem? // Haha, så elendig sammenligning $navn = $_POST['navn']; if( empty( $navn ) ) { //..... Endret 26. desember 2007 av M4rTiN Lenke til kommentar
Anders Moen Skrevet 26. desember 2007 Del Skrevet 26. desember 2007 Som Martin sa, så er det fordi du ikke har angitt $navn før du sjekker om $navn er tom eller ikke Lenke til kommentar
grimjoey Skrevet 26. desember 2007 Del Skrevet 26. desember 2007 Som Martin og Anders Moen sier så får du feilmelding fordi variabelen $navn aldri får noen verdi. Rart at du ikke får feilmelding om at du refererer til en variabel som ikke er satt. Sett errorlevel til å vise warnings. error_reporting(E_ALL); // først i filen etter <?php Lenke til kommentar
Thomas. Skrevet 26. desember 2007 Forfatter Del Skrevet 26. desember 2007 Fant ut av det selv if($_POST['navn'] == $_POST[''] ) { echo("Du skrev ikke inn noe navn!"); } Lenke til kommentar
Alex Moran Skrevet 26. desember 2007 Del Skrevet 26. desember 2007 Hva faen er den koden der god for? Den gir jo ingen mening <?php if(empty($_POST['navn'])) { echo 'Du skrev ikke inn noe navn din taper.'; } ?> Tips: kjør var_dump(...) på $_POST-arrayet. Lenke til kommentar
Ståle Skrevet 27. desember 2007 Del Skrevet 27. desember 2007 Joda, den gir vel mening. Elementet *ingenting* har vel ingenting, det samme som $_POST['navn'] har hvis det ikke er noen som har skrevet noe i feltet. Men det er egentlig veldig darlig koding. Lenke til kommentar
BigJackW Skrevet 27. desember 2007 Del Skrevet 27. desember 2007 (endret) Tips: kjør var_dump(...) på $_POST-arrayet. Evt. print_r() ... Eks: echo "<pre>"; print_r($_POST); echo "</pre>"; Edit: Grimjoey: d'oh, stemmer. My bad. Endret 28. desember 2007 av BigJackW Lenke til kommentar
Thomas. Skrevet 27. desember 2007 Forfatter Del Skrevet 27. desember 2007 Hva er vits ? Gjesteboka fungere topp den! Lenke til kommentar
Martin A. Skrevet 27. desember 2007 Del Skrevet 27. desember 2007 Handler ikke om den funker eller ei. Det er bare det at du legger til deg grusomme uvaner om du fortsetter å kode slik som du gjør. Lenke til kommentar
grimjoey Skrevet 28. desember 2007 Del Skrevet 28. desember 2007 bigjackw: $variabel = print_r($array); funker ikke. print_r sender til output direkte. du må i så fall gjøre: ob_start(); print_r($array); $variabel = ob_get_contents(); ob_end_clean(); Lenke til kommentar
Alex Moran Skrevet 28. desember 2007 Del Skrevet 28. desember 2007 grimjoey: Eller bare sette det andre argumentet til true. Lenke til kommentar
grimjoey Skrevet 28. desember 2007 Del Skrevet 28. desember 2007 tydeligvis. lenge siden jeg har lest om print_r i manualen. 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å