Gå til innhold

debug på form


Anbefalte innlegg

jeg har en hel drøss med elseif-setninger som bestemmer hva du kan submitte med et skjema jeg har. Dette fungerer jo helt fint, men jeg vil gjerne at alle feilmeldingene skal vises på en gang (hvis brukeren har skrevet flere feil), men med slik jeg har det nå vises bare en og en feilmelding..hvordan får jeg til dette?

Endret av Tha_Zaynt
Lenke til kommentar
Videoannonse
Annonse

Vis jeg forstod deg rett så kan du bruke.

 

if($_POST['brukernavn'] &&  $_POST['passord']) {

Gjøre det som skal gjøres.
} else {
Feilmelding
}

 

Du må bytte om brukernavn og passord men hva feltene heter. Et forslag.

Endret av kcobain
Lenke til kommentar

Skjønnte ikke helt. Men jeg kan vel komme med et av mine tåpelige forslag

 

lag en variabel som f.eks heter $ErDetFeilHerMonTro .

 

Og så setter du den = 1 når du får en feil . Etter alle else if settningene kan du kjøre if($ErDetFeilHerMonTro) { echo" alle feilmeldingene her";

 

 

Dette er fungerer sikkert ikke siden du skal ha feilmeldingene ved avkryssningsboksene. Bare et forslag

Lenke til kommentar

skjønte ikke helt jeg...hvordan blir det hvis debug'en ser slik ut da?:

 

if (empty($fornavn) || empty($etternavn) || empty($alder) || empty($tlf) || empty($brukernavn) || empty($passord) || empty($pass)) { 

echo "<p><b>Et eller flere felt mangler nødvendig informasjon!</b></p>"; }

elseif (!empty($email) && !ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", $email)) echo "<p><b>ERROR! Feil format på mailadresse!</b></p>";
elseif (is_numeric($tlf)==false) echo "<p>Telefonnr. må skrives i tallformat eks: 72483293</p>";
elseif (is_numeric($alder)==false) echo "<p><b>Alderen må skrives i tallformat!</p></b>";
elseif ($passord == "False") echo "<p><b>Passordene må være like!<b></p>";
elseif ($alder < 12) echo "<p><b>Du må være minst 12 år for å være med på nisselink dataparty</b></p>";
elseif ($alder > 25) echo "<p><b>Nisselink er bare for ungdommer mellom 12-25år.</b></p>";

Lenke til kommentar

Jeg er ikke helt sikker på hvordan jeg skal gjøre dette særlig fordi jeg har med en mysql sjekk som jeg glemte å ta med i stad

 

if (empty($fornavn) || empty($etternavn) || empty($alder) || empty($tlf) || empty($brukernavn) || empty($passord) || empty($pass)) { 

echo "<p><b>Et eller flere felt mangler nødvendig informasjon!</b></p>"; }

elseif (!empty($email) && !ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", $email)) echo "<p><b>ERROR! Feil format på mailadresse!</b></p>";
elseif (is_numeric($tlf)==false) echo "<p>Telefonnr. må skrives i tallformat eks: 72483293</p>";
elseif (is_numeric($alder)==false) echo "<p><b>Alderen må skrives i tallformat!</p></b>";
elseif ($passord == "False") echo "<p><b>Passordene må være like!<b></p>";
elseif ($alder < 12) echo "<p><b>Du må være minst 12 år for å være med på nisselink dataparty</b></p>";
elseif ($alder > 25) echo "<p><b>Nisselink er bare for ungdommer mellom 12-25år.</b></p>";

else {

mysql_connect($mySQLhost, $mySQLuser, $mySQLpass)
       or die("Could not connect: " . mysql_error());
mysql_select_db($mySQLdb);

if (mysql_result(mysql_query("SELECT count(*) as count FROM users WHERE brukernavn = '".$brukernavn."' LIMIT 1"),0,"count") == "1") {
echo "<p><b>Brukernavnet $brukernavn er opptatt!</b></p>";
exit();
}

Lenke til kommentar

Bytt ut echo med f.eks variabelen $error:

 

$error = "<p><b>Et eller flere felt mangler nødvendig informasjon!</b></p>";

 

Husk å bruk .= på de andre setningene slik at du ikke får med tidligere feil:

$error .= "<p><b>ERROR! Feil format på mailadresse!</b></p>";

 

Så skriver du ut $error der du vil ha feilmeldingene:

echo $error;

Lenke til kommentar

Jeg bruker

if ((!$fornavn) || (!$etternavn) || (!$e_posten) || (!$brukernavn)){
echo "Du glemte å skrive inn dette:<br>";
if(!$fornavn){
 echo "Fornavn<br>";
}
if(!$etternavn){
 echo "Etternavn<br>";
}
if(!$e_posten){
 echo "E-Post<br>";
}
if(!$brukernavn){
 echo "Brukernavn<br>";
}
include "inkludert/iregistrer.php";
include "inkludert/bunn.php";
exit();
}

Lenke til kommentar

har sett litt på manualen, men fikk ikke så mye ut av det. Uansett...går det an å gjøre slik??

 

$errormsg1='blablabla'
$errormsg2='blablabla'
$errormsg3='blablabla'
$errormsg4='blablabla'
$errormsg5='blablabla'
$errormsg6='blablabla'

array($errormsg1,$errormsg2,$errormsg3,$errormsg4,$errormsg5,$errormsg6)

Lenke til kommentar

Jeg prøvde å lage deguggen som følger;

 

$errormsg1 = '<p><b>ERROR! Feil format på mailadresse!</b></p>';
$errormsg2 = '<p>Telefonnr. må skrives i tallformat eks: 72483293</p>';
$errormsg3 = '<p><b>Alderen må skrives i tallformat!</p></b>';
$errormsg4 = '<p><b>Passordene må være like!<b></p>';
$errormsg5 = '<p><b>Du må være minst 12 år for å være med på nisselink dataparty</b></p>';
$errormsg6 = '<p><b>Nisselink er bare for ungdommer mellom 12-25år.</b></p>';

$arr = array($errormsg1,$errormsg2,$errormsg3,$errormsg4,$errormsg5,$errormsg6);

if (empty($fornavn) || empty($etternavn) || empty($alder) || empty($tlf) || empty($brukernavn) || empty($passord) || empty($pass)) { 

echo "<p><b>Et eller flere felt mangler nødvendig informasjon!</b></p>"; }

elseif (!empty($email) && !ereg("^[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+@[^@ ()$#><;%*?&+='\{}æøåÆØÅ]+\.[^@ ()$#><;*%?&+='\{}æøåÆØÅ\.]+$", $email)) echo "$arr";
elseif (is_numeric($tlf)==false) echo "$arr";
elseif (is_numeric($alder)==false) echo "$arr";
elseif ($passord == "False") echo "";
elseif ($alder < 12) echo "$arr";
elseif ($alder > 25) echo "$arr";

 

men når jeg tester det, outputter den bare Array..

Lenke til kommentar

en array i seg selv er det ingen vite i å outpute. du må hente ut hvert element og vise.

 

poenget var, at du kan gå gjennom punkt for punkt i din feilsjekk. og hvis et punkt er feil, så legg til en feilmelding i din array. mao bruk en array som en oppsamlingsbøtte for alle feil du støter på.

 

så kan du siden etter alle feilsjekkene vise alle feilmeldingene i din som du har samlet opp iløpet av feilsjekken.

Lenke til kommentar

Tha_Zaynt: Det virker som om du mangler litt grunnleggende forståelse for hvordan variabler, arrays, funksjoner, osv fungerer. Jeg vil anbefale deg å lese litt mer om disse temaene. Det finnes masse tutorials på nettet. Ta deg tid til å forstå hvordan ting fungerer.

 

Jeg lærte meg PHP ved å lese manualen. I tillegg leste jeg en del tutorials for å få litt tips og tanker rundt hvordan man kan løse problemer på en god måte.

Lenke til kommentar

hvis jeg får et konkret svar på akkurat hvordan det blir i dette tilfellet kanskje jeg ser sammenhengen...Jeg har det litt travelt med å gjøre ferdig et medlemms-script så jeg har ikke tid til å lese så grundig igjennom manualen..Satte meg ned å leste litt idag, men fikk veldig lite ut av det fordi jeg synes det var vanskelig skrevet. Har tenkt å se igjennom det litt grundigere når jeg får litt bedre tid, men det hadde jo hjulpet på forståelsen hvis jeg hadde fått en løsning på dette. Skjønner at det blir litt som å gi svaret på en vansklig oppgave, og dere tenker sikkert at jeg ikke lærer noe så lenge jeg ikke prøver selv. Jeg har faktisk prøvd mye og lenge og står skikkelig fast her så jeg hadde satt stor pris på om noen kunne finne ne løsning på dette..

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...