Gå til innhold

php feilmeldinger i samme side/design


Anbefalte innlegg

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.

post-66551-1212695718_thumb.jpg

Endret av The Prodigy
Lenke til kommentar
Videoannonse
Annonse
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 av The Prodigy
Lenke til kommentar
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

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 av Jonas
Lenke til kommentar
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

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 av G2Petter
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...