The Prodigy Skrevet 5. juni 2008 Del Skrevet 5. juni 2008 (endret) Hei, Jeg har litt problem med php feilmeldinger. Eksempel: Jeg har en side nyhetsbrev.php, der inkluderer jeg php scriptet maillist.php. Når f.eks en form input feiler, sender jeg error meldinger enten via error(); eller popup boks... Problemet er at error() feilmeldingen blir printet i en ny og blank side. Hvordan kan jeg printe feilmeldingene i samme side/design..? takk. Endret 5. juni 2008 av The Prodigy Lenke til kommentar
Martin A. Skrevet 6. juni 2008 Del Skrevet 6. juni 2008 Neei, si det du? Du må nok gi oss noe kode. Lenke til kommentar
Dryper Skrevet 6. juni 2008 Del Skrevet 6. juni 2008 Neei, si det du? Du må nok gi oss noe kode. hmm if(isset($traktorkakeutennoenkodesomjegkanseetter)){ echo "Korrekt"; }else{ echo "Nå glemte du å fylle inn om du skal ha traktorkake eller ei"; } Lenke til kommentar
The Prodigy Skrevet 6. juni 2008 Forfatter Del Skrevet 6. juni 2008 (endret) Neei, si det du? Du må nok gi oss noe kode. hmm if(isset($traktorkakeutennoenkodesomjegkanseetter)){ echo "Korrekt"; }else{ echo "Nå glemte du å fylle inn om du skal ha traktorkake eller ei"; } takk for if else setningen. hvis du derimot hadde lest hva jeg spør etter hadde du skrevet noe annet, men takk. La oss si du har en side med design og det hele, og der har du en form, og selve scriptet ligger i en annen fil som foretar backend, og der har du denne if else setningen. når du kjører scriptet blir denne echo skrevet ut i en ny og tom side. jeg vil at det skal skrives i samme side. på bildet kan man se at feilmeldingene blir skrevet ut under input felter. hvordan gjør man det..? og skal dere ha kode: nyhetsbrev.php //masse html <form action="maillist.php" method="post" > <p class="imp"> E-postadresse:</p> <input class="f2" type="text" name="email" value="" size="30" maxlength="100" /> <p class="imp"> Navn:</p> <input class="f2" type="text" name="name" value="" size="30" maxlength="100" /> <br /><br /> <input class="f2" type="submit" name="tilmeld" value="Tilmeld nu" /> <input class="f2" type="submit" name="frameld" value="Frameld" /><br /> </form> //masse html Når submit knappen blir trykket, vil php filen maillist.php kjøre. og alle echo() print() error() fra maillist.php blir skrevet ut i en ny og tom side. og ikke i nyhetsbrev.php Jeg ønsker at disse feilmeldinger skal bli skrevet ut i nyhetsbrev.php siden. anybody? Endret 6. juni 2008 av The Prodigy Lenke til kommentar
Wackamole Skrevet 6. juni 2008 Del Skrevet 6. juni 2008 (endret) Du må bruke ajax og javascript, hvis du vil at den skal sjekke om det er blitt skrevet noe i feltene. Søk på google elns. EDIT: første resultat: Javascript tutorial - Form checker Endret 6. juni 2008 av Famen Lenke til kommentar
The Prodigy Skrevet 6. juni 2008 Forfatter Del Skrevet 6. juni 2008 Du må bruke ajax og javascript, hvis du vil at den skal sjekke om det er blitt skrevet noe i feltene. Søk på google elns. EDIT: første resultat: Javascript tutorial - Form checker Jeg har testet med javascript og alert() popup meldinger. men er det ikke mulig å løse det uten javascript, og kun med php mysql..? Lenke til kommentar
avalandon Skrevet 6. juni 2008 Del Skrevet 6. juni 2008 Når submit knappen blir trykket, vil php filen maillist.php kjøre. og alle echo() print() error() fra maillist.php blir skrevet ut i en ny og tom side. og ikke i nyhetsbrev.php Jeg ønsker at disse feilmeldinger skal bli skrevet ut i nyhetsbrev.php siden. anybody? Ut i fra koden din forstår jeg at du fra nyhetsbrev.php kaller opp maillist.php når submit-knappen blir trykket. Du kan redirigere tilbake til nyhetsbrev.php ved en feil i mailist.php med et parameter i URL for hvilken feil det gjelder. Lenke til kommentar
Jonas Skrevet 6. juni 2008 Del Skrevet 6. juni 2008 (endret) Dersom du vil printe ut feilmeldinger mellom input-felter er du naturligvis nødt til å sjekke etter feil når du printer input-feltene, slik at du kan plassere feilmeldingene mellom de. Du må med andre ord legge php mellom hvert eneste input-element du har, eller benytte deg av en skikkelig form-klasse. (Evt. lage en selv) Edit: Puslet med noe slikt i går kveld. Ta en titt her. Trikset med slikt er å ikke sende brukeren til en annen fil. Poster vel koden i sticky-tråden dersom det noen gang blir ferdig. Endret 6. juni 2008 av Jonas Lenke til kommentar
The Prodigy Skrevet 6. juni 2008 Forfatter Del Skrevet 6. juni 2008 http://pass.hw.no/registrer.php Hvis man trykker på submit knappen, uten å ha utfylt noen felter vil man få opp en topboks, der alle feilmeldinger står. siden er laget vha php, men er denne autentifikation laget vha javascript..? det er noe lignende jeg ser etter. Lenke til kommentar
avalandon Skrevet 7. juni 2008 Del Skrevet 7. juni 2008 http://pass.hw.no/registrer.php Hvis man trykker på submit knappen, uten å ha utfylt noen felter vil man få opp en topboks, der alle feilmeldinger står. siden er laget vha php, men er denne autentifikation laget vha javascript..? det er noe lignende jeg ser etter. Dette er noe lignende. Skjema: <?php $error_msg = ""; $visibility = "hidden"; if(isset($_GET['error'])){ $error_status = $_GET['error']; switch($error_status){ case 0: $error_msg = "Alle felt må fylles ut"; $visibility = "none"; break; case 1: $error_msg = ""; $visibility = "none"; break; //etc, etc } } ?> <div style="visibility:<?php echo $visibility ?>;border:1px solid #808080;"> <div style="background-color:#E5E5E5">Feilen var</div> <div><?php echo $error_msg ?></div> </div> <form action="/cgi-bin/process.php" method="post"> <input type="text" name="test" value=""> <input type="submit" name="submit" value="Submit"> </form> Filen som tilsvarer maillist, som redireger tilbake til skjemaet ved feil med et parameter for hva slags feil det er: <?php if(isset($_POST['submit'])){ if($_POST['test'] == ""){ header("Location: [url="http://www.test.com/cgi-bin/form.php?error=0");"]http://www.test.com/cgi-bin/form.php?error=0");[/url] die(); } // Hvis alt ok, fortsett } ?> Lenke til kommentar
Runar Skrevet 7. juni 2008 Del Skrevet 7. juni 2008 Tidligere har jeg løst dette ved å sjekke om et felt inneholder tegn, etter at jeg har sjekket om det er tomt. Hvis det ikke er tomt, og inneholder tegn, men andre felt er tomme, beholder de andre feltene det som er skrevet. Lenke til kommentar
G2Petter Skrevet 7. juni 2008 Del Skrevet 7. juni 2008 (endret) Jeg har tidligere løst et lignende problem med sessions. Om dette er en god idé aner jeg ikke. <form method="post" action="action.php"> <?php if($_SESSION['username_error']) { echo "Du har glemt å fylle ut brukernavn"; } ?> <input type="text" name="username" /> <?php if($_SESSION['password_error']) { echo "Du har glemt å fylle ut password"; } ?> <input type="text" name="password" /> </form> Og så ser action-fila sånn ut: <?php if(!$_POST['username'] == '') { $_SESSION['username_error'] = true; } if(!$_POST['password'] == '') { $_SESSION['password_error'] = true; } ?> Dette er utestet, men konseptet skal fungere. Edit: glemte et par viktige utropstegn. Endret 7. juni 2008 av G2Petter 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å