Gå til innhold

Problemer med selvlagde feilmeldinger


Anbefalte innlegg

Hei! Jeg lager nå et slags kontaktskjema, men jeg har et lite problem. Jeg vil jo at det skal skrives ut selvlagde feilmeldinger til brukeren av skjemaet hvis et eller flere felter ikke er utfylt, men i mitt script så skrives ingenting ut hvis to felter mangler.

Her er koden min som sjekker om noe er feil:

if($svar != $losning) { echo "Feil svar"; } // Skjekker svar på sikkerhetspørsmål
elseif(empty($navn)) { echo "Ingen navn"; }
elseif(!empty($url) and validate_url($url) != true) { echo "Ugyldig url"; }
elseif(empty($url)) { echo "Ingen url"; }
elseif(empty($fylke)) { echo "Ikke noe fylke"; }

 

Hvis sikkerhetsfeltet ikke er skrevet riktig og en annen ting ikke er fylt ut vil kun feilmeldingen til sikkerhetsfeltet skrives ut. Men hvis to av de andre feltene ikke er fylt ut vil ingen feilmelding skrives ut... Jeg vil at hvis alle feltene er tomme skal alle feilmeldingen skrives ut.

 

Noen som vet hvordan?

Lenke til kommentar
Videoannonse
Annonse

vist if'en blir utført så vil php hopper over alle else if og else og dermed vil bare ein melding bli printa ut. Det du kan gjøre er å bruke bare if'er og da vil alle medlingen bli vist. Noe slik burde virke:

 

PHP

<?php

$error false;

if($svar != $losning) { echo "Feil svar"$error true;} 

// Skjekker svar på sikkerhetspørsmål

if(empty($navn)) { echo "Ingen navn"$error true; }

if(!empty($url) and validate_url($url) != true) { echo "Ugyldig url"$error true; }

if(empty($url)) { echo "Ingen url"$error true; }

if(empty($fylke)) { echo "Ikke noe fylke"$error true; }

if(!$error) { /* Gjør noe med infoen */ }?>

Endret av Runar0
Lenke til kommentar

Hva med å bruke javascript til dette?

 

Virker nok ikke uten videre dette, men du forstår tankegangen.

 

<script type="text/javascript">

function validateform()

{

var ERRORS = "";

if (document.getElementById("text").value != "")

{

ERRORS += "Feil<br/>";

document.getElementById("submit").disabled = true;

}

else

{

document.getElementById("submit").disabled = false;

}

 

document.getElementById("errors").innerHTML = ERRORS;

 

return null;

}

</script>

 

<p id="errors" class="en css klasse"></p>

 

<form>

<input type="text" id="text" />

<input type="submit" id="submit" onMouseOver="validateform();" />

</form>

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