Gå til innhold

[Løst] Skjema validering fungerer ikke


Anbefalte innlegg

Hei!

 

Jeg forsøker å implementere server validering av input felter i et html skjema.

Men needless to say, det fungerer ikke. Lenge siden jeg har gjort det her, så sikkert bare en id10t feil et eller annet sted her...

 

Help anyone? :)

<h1>Kontakt oss</h1>
	
<form method="post" name="kontaktSkjema" action="" enctype="text/plain" id="kontaktSkjema">
<table>
   <tr>
      <td> Navn: </td>
      <td><input type="text" name="navn"></td>
      <?php sjekkNavn()?>
   </tr>
   <tr>
      <td>Epost: </td>
      <td><input type="email" name="epostAdresse"></td>
      <?php sjekkEpost()?>
   </tr>
   <tr>
      <td> Melding: </td>
      <td><textarea rows="12" cols="50" name="melding"></textarea></td>
      <?php sjekkMelding()?>
   </tr>
   <tr>
      <td></td>
      <td><input type="submit" name="submitKnapp" value="SEND" id="sendKnapp"></td>
   </tr>
</table>
</form>
	
	
<?php sjekkOgSend();


function sjekkNavn() {
   if(isset($_POST['submitKnapp'])) {
      if(preg_match("/[a-zA-Z\s]{2,}/", "document.getElementById('navn').value"))
         return true;
		
      else echo '<td>Mangler navn</td>';
   }
	
   return false;
}

function sjekkEpost() {
   if(isset($_POST['submitKnapp'])) {
      if(filter_var("document.getElementById('epostAdresse').value", FILTER_VALIDATE_EMAIL))
         return true;

      else echo '<td>Ugyldig epost adresse</td>';
   }
	
   return false;
}

function sjekkMelding() {
   if(isset($_POST['submitKnapp'])) {
      if(preg_match("/.{1,}/", "document.getElementById('melding').value"))
         return true;
		
      else echo '<td>Skriv en melding</td>';
   }
	
   return false;
}

function sjekkOgSend() {
	if(sjekkNavn() && sjekkEpost() && sjekkMelding()) {
		// Send mail
	}
}

?>
Endret av Defo
Lenke til kommentar
Videoannonse
Annonse

Du blander jo javascript: document.getElementById(), inn i PHP.

Sjekk at nødvendige felter er satt, ikke kun submitKnapp

 

<?php
function sjekkNavn() {
   if(isset($_POST['submitKnapp'],$_POST['navn']) and preg_match("/[a-zA-Z\s]{2,}/", $_POST['navn']))
         return true;
		
      else echo '<td>Mangler navn</td>';
   }
	
   return false;
}

function sjekkEpost() {
   if(isset($_POST['submitKnapp'],$_POST['epostAdresse']) and filter_input(INPUT_POST,'epostAdresse', FILTER_VALIDATE_EMAIL) !== false)
         return true;

      else echo '<td>Ugyldig epost adresse</td>';
   }
	
   return false;
}

function sjekkMelding() {
   if(isset($_POST['submitKnapp'],$_POST['melding']) and !empty($_POST['melding']))
         return true;
		
      else echo '<td>Skriv en melding</td>';
   }
	
   return false;
}
Denne lille serien er kanskje nyttig: Phpacademy: Easy PHP Validation Endret av Crowly
Lenke til kommentar

Du blander jo javascript: document.getElementById(), inn i PHP.

Sjekk at nødvendige felter er satt, ikke kun submitKnapp

 

 

Takk for svar! Jeg har oppdatert med noen endringer nå.

Men det virker ikke som sjekken om submitKnapp er satt, fungerer...

 

Testet med en enkel:

if(isset($_POST['submitKnapp']))
  echo "Fungerer";

Dvs, denne slår ikke inn selv om knappen er trykket.

<echo "Fungerer">

Ser ellers slik ut nå:

function sjekkNavn() {
  if(isset($_POST['submitKnapp'],$_POST['navn']) and !preg_match("/[a-zA-Z\s]{2,}/", $_POST['navn'])) {
    echo '<td>Mangler navn</td>';
    return false;
    }
	
  else return true;
}

function sjekkEpost() {
  if(isset($_POST['submitKnapp'],$_POST['epostAdresse']) and !filter_input(INPUT_POST,'epostAdresse', FILTER_VALIDATE_EMAIL)) {
    echo '<td>Ugyldig epost adresse</td>';
    return false;
  }

  else return true;
}

function sjekkMelding() {
  if(isset($_POST['submitKnapp'],$_POST['melding']) and empty($_POST['melding'])) {
    echo '<td>Skriv en melding</td>';
    return false;
  }
	
  else return true;
}
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...