form validatie

  • Onderwerp starter Onderwerp starter feint
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

feint

Gebruiker
Lid geworden
3 jun 2008
Berichten
273
ik zit met een probleem. ik ben bezig met een formulier waarbij ik 4 onderdelen ingevuld wil hebben voordat het verstuurd word.

naast het feit dat die het niet doet zit ik met het probleem dat ik hem naar een andere pagina doorverstuur en daar de informatie opvraag als bevestigings formulier waar mensen kunnen kijken of hun gegevens wel kloppen. maar ik wil de validatie voordat die naar de andere pagina gaat. maar hij werkt gewoon niet. of hij doet helemaal niks. of hij verstuurd hem gewoon door naar de bevestigings pagina

ik heb dit script

Code:
<?php
if($_POST['submit']) {

if(empty($_POST["bedrijfsnaam"])) 
	echo "u heeft geen bedrijfsnaam ingevuld";

elseif (empty($_POST['naam']))
	echo "U heeft geen naam ingevuld";

elseif (empty($_POST['email']))
	echo "U heeft geen email adres ingevuld";

elseif (empty($_POST['telefoonnummer']))
	echo "U heeft geen telefoonnummer ingevuld";

return FALSE;

?>

dit script heb ik zelf geschreven gezien ik nergens een goede uitleg kreeg bij alle tutorials.
maar hij doet het niet.

ik krijg de error

Parse error: parse error, unexpected $ in /home/www/teasy.freehostia.com/form.php on line 80

maar line 80 staat alleen maar ?>

gezien ik nieuw ben met php weet ik dus niet wat ik fout doe :confused:

ook weet ik niet hoe het nou zit met
return FALSE;
else {
return TRUE;

als ik dat invul dat krijg ik de error unexpected else:shocked:

hopelijk kunnen jullie mij helpen:thumb:
 
Laatst bewerkt:
probeer het volgende :
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['bedrijfsnaam']) && $_POST['bedrijfsnaam']=="") {
	echo "u heeft geen bedrijfsnaam ingevuld.<br>"; 
        $ok = "0"; }

elseif (isset($_POST['naam']) && $_POST['naam']=="") {
	echo "U heeft geen naam ingevuld.<br>";
        $ok = "0"; }

elseif (isset($_POST['email']) && $_POST['email']=="") {
	echo "U heeft geen email adres ingevuld.<br>";
        $ok = "0"; }

elseif (isset($_POST['telefoonnummer']) && $_POST['telefoonnummer']=="") {
	echo "U heeft geen telefoonnummer ingevuld.<br>";
        $ok = "0"; }

if($ok == "0") {
echo "De formulier is niet OK .";
return FALSE;
}
else {
echo "De formulier is OK .";
return TRUE;
}
}
?>


dit zou moeten werken .
 
Laatst bewerkt door een moderator:
nja hij doet het wel. maar als je nu op verzenden klikt dan krijg ik gewoon het bevestigingsformulier. de validatie doet niks.

ik zal ff alles neerzetten

Code:
<table width="100%"> 

<form action="checkinput.php" name="form" method="POST"> 

<table width="100%" border="0"> 

<tr> 
   <td width="20%">Bedrijfsnaam:</td> 
   <td width="80%"><input type="text" name="bedrijfsnaam" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Naam:</td> 
   <td width="80%"><input type="text" name="naam" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Adres:</td> 
   <td width="80%"><input type="text" name="adres" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Postcode:</td> 
   <td width="80%"><input type="text" name="postcode" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Woonplaats:</td> 
   <td width="80%"><input type="text" name="woonplaats" size="30"></td> 
</tr> 
<tr> 
   <td width="20%">E-mailadres:</td> 
   <td width="80%"><input type="text" name="email" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Telefoonnummer:</td> 
   <td width="80%"><input type="text" name="telefoonnummer" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Mobiel:</td> 
   <td width="80%"><input type="text" name="mobiel" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">KVK-nummer:</td> 
   <td width="80%"><input type="text" name="kvknummer" size="30"></td> 
</tr>

 
<tr> 
   <td width="20%"></td> 
   <td width="80%"> 
      &nbsp;<br> 
      <input type="submit" name="submit" value="Verzenden"> 
   </td> 
</tr> 

</form> 
</table>

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['bedrijfsnaam']) && $_POST['bedrijfsnaam']=="") {
echo "u heeft geen bedrijfsnaam ingevuld.<br>"; 
$ok = "0"; }

elseif (isset($_POST['naam']) && $_POST['naam']=="") {
echo "U heeft geen naam ingevuld.<br>";
$ok = "0"; }

elseif (isset($_POST['email']) && $_POST['email']=="") {
echo "U heeft geen email adres ingevuld.<br>";
$ok = "0"; }

elseif (isset($_POST['telefoonnummer']) && $_POST['telefoonnummer']=="") {
echo "U heeft geen telefoonnummer ingevuld.<br>";
$ok = "0"; }

if($ok == "0") {
echo "De formulier is niet OK .";
return FALSE;
}
else {
echo "De formulier is OK .";
return TRUE;
}
}
?>

het bevestigingsscript tot zover

Code:
<?

$bedrijfsnaam			=	$_POST['bedrijfsnaam'];
$naam				=	$_POST['naam'];
$adres				=	$_POST['adres'];
$postcode			=	$_POST['postcode'];
$woonplaats			=	$_POST['woonplaats'];
$email_from			=	$_POST['email'];
$telefoon			=	$_POST['telefoonnummer'];
$mobiel				=	$_POST['mobiel'];
$kvk				=	$_POST['kvknummer'];

echo "Bedrijfsnaam: " .$bedrijfsnaam. "<br />";
echo "Naam: " .$naam. "<br />";
echo "Adres: " .$adres. "<br />";
echo "Postcode: " .$postcode. "<br />";
echo "Woonplaats: " .$woonplaats. "<br />";
echo "E-Mail: " .$email_from. "<br />";
echo "Telefoonnummer: " .$telefoon. "<br />";
if(isset($mobiel)){
	echo "Mobiel: " .$mobiel. "<br />";
}
if(isset($kvk)){
	echo "KVK-Nummer: " .$kvk. "<br />";
}
?>
<Br />
<font color="red">LET OP!</font><BR />
Mijn gegevens kloppen
<form action="<? $_SERVER['PHP_SELF']; ?>" method="POST">
Vink aan<input type="checkbox" name="klopt" value="1" /> <br /><br />
<input type="submit" value="Verstuur Mail" name="submit1" />
</form>

<?

if(isset($_POST['submit1'])){
	if($_POST['klopt'] == 1){
		$mail_to	= 	"stealtje90@hotmail.com";
		$subject	=	"[MAIL FORM WEBSITE]";	
		$header		=	"From: ". $email_from;
		$message	=	"Bedrijfsnaam: " .$bedrijfsnaam. "\n
		Naam: " .$naam. "\n";
		$mail		=	mail($mail_to,$subject,$message);
		if($mail){
			echo "<div style='background: green;'>Uw mail is verstuurd!</div>";
			
		}else{
			echo "<div style='background: red;'>Uw mail is niet verstuurd!</div>";		
}
	}else{
		echo "<div style='background: red;'>U heeft niet aangegeven dat uw gegevens kloppen.</div>";
	}
}



?>
 
doet "return FALSE;" en "return true ;" eruit dan zal hij het formulier blijven tonen ;)
 
dat snap ik niet helemaal. ik zal ff uitleggen wat die doet


als ik hem nu blanco laat en ik druk op verzenden dan stuurt die hem direct door naar het bevestigingsformulier. hij kijkt niet eens of de bedrijfsnaam naam etc wel zijn ingevuld. in principe boeit dat hem niet :P hij skipt het gewoon
 
PHP:
<form action="" name="form" method="POST"> 

<table width="100%" border="0"> 

<tr> 
   <td width="20%">Bedrijfsnaam:</td> 
   <td width="80%"><input type="text" name="bedrijfsnaam" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Naam:</td> 
   <td width="80%"><input type="text" name="naam" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Adres:</td> 
   <td width="80%"><input type="text" name="adres" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Postcode:</td> 
   <td width="80%"><input type="text" name="postcode" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Woonplaats:</td> 
   <td width="80%"><input type="text" name="woonplaats" size="30"></td> 
</tr> 
<tr> 
   <td width="20%">E-mailadres:</td> 
   <td width="80%"><input type="text" name="email" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Telefoonnummer:</td> 
   <td width="80%"><input type="text" name="telefoonnummer" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">Mobiel:</td> 
   <td width="80%"><input type="text" name="mobiel" size="30"></td> 
</tr> 

<tr> 
   <td width="20%">KVK-nummer:</td> 
   <td width="80%"><input type="text" name="kvknummer" size="30"></td> 
</tr>

 
<tr> 
   <td width="20%"></td> 
   <td width="80%"> 
      &nbsp;<br> 
      <input type="submit" name="submit" value="Verzenden"> 
   </td> 
</tr> 

</form> 
</table>

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['bedrijfsnaam']) && $_POST['bedrijfsnaam']=="") {
echo "u heeft geen bedrijfsnaam ingevuld.<br>"; 
$ok = "0"; }

elseif (isset($_POST['naam']) && $_POST['naam']=="") {
echo "U heeft geen naam ingevuld.<br>";
$ok = "0"; }

elseif (isset($_POST['email']) && $_POST['email']=="") {
echo "U heeft geen email adres ingevuld.<br>";
$ok = "0"; }

elseif (isset($_POST['telefoonnummer']) && $_POST['telefoonnummer']=="") {
echo "U heeft geen telefoonnummer ingevuld.<br>";
$ok = "0"; }

if($ok == "0") {
echo "De formulier is niet OK .";

}
else {
echo "De formulier is OK .";
include('bevestigingsscript naam');
}
}
?>

voila met een include zal al beter zijn ;)
Maar wat is eigenlijk je doel ?
Waatvoor ga dit dienen ?
 
Laatst bewerkt door een moderator:
ik wil dat mensen als ze een formulier invullen dat ze eerst kunnen zien dat hun informatie wel klopt. niet dat ik 20 mailtjes krijg omdat ze een letter verkeerd typen. ook is het handig om alles nog eens goed na te lezen. en een validatie wil ik erin hebben zodat ik geen open vlakken krijg op informatie die zeker nodig zal zijn.

ik zal je script even uitproberen. hopelijk werkt het.

en alvast bedankt voor je snelle reacties:thumb:
 
ok hij doet het. nu heb ik nog 2 vraagjes voor je. misschien kun je mij daarbij helpen.

ik wil liever dat de bevestigingspagina op een nieuwe pagina word geladen.

ook is het zo dat als je 1 fout hebt. bijv. je naam open gelaten dat alle informatie wegvalt. dit is ook het geval als je bij mijn bevestigingsformulier het hokje niet aankruist. dan is alle info weg en mot je weer overnieuw beginnen. kun jij mij misschien hiermee helpen of een link geven waar ik het kan leren?:)

ik leer het liever zelf dan alles voorgekauwt te krijgen, als het kan een link. maar als je het voor mij wil doen vind ik het prima. dan bestudeer ik je script wel :):thumb:
 
voor de snelle reactie
is nix ;)
Ik moet toch w8en dat iemand op mijn vraag reägeert :( .
Maar ik denk niet dat iemand gaat reageren, omdat het wel een moeilijke vraag is :(
 
PHP:
<form action="" name="form" method="POST"> 

<table width="100%" border="0"> 

<tr> 
   <td width="20%">Bedrijfsnaam:</td> 
   <td width="80%"><input type="text" name="bedrijfsnaam" size="30" value="<?php if (isset($_POST['bedrijfsnaam'])) { print $_POST['bedrijfsnaam']; } ?>"></td> 
</tr> 

<tr> 
   <td width="20%">Naam:</td> 
   <td width="80%"><input type="text" name="naam" size="30" value="<?php if (isset($_POST['naam'])) { print $_POST['naam']; } ?>"></td> 
</tr> 

<tr> 
   <td width="20%">Adres:</td> 
   <td width="80%"><input type="text" name="adres" size="30" value="<?php if (isset($_POST['adres'])) { print $_POST['adres']; } ?>"></td> 
</tr> 

<tr> 
   <td width="20%">Postcode:</td> 
   <td width="80%"><input type="text" name="postcode" size="30" value="<?php if (isset($_POST['postcode'])) { print $_POST['postcode']; } ?>"></td> 
</tr> 

<tr> 
   <td width="20%">Woonplaats:</td> 
   <td width="80%"><input type="text" name="woonplaats" size="30" value="<?php if (isset($_POST['woonplaats'])) { print $_POST['woonplaats']; } ?>"></td> 
</tr> 
<tr> 
   <td width="20%">E-mailadres:</td> 
   <td width="80%"><input type="text" name="email" size="30" value="<?php if (isset($_POST['email'])) { print $_POST['email']; } ?>"></td> 
</tr> 

<tr> 
   <td width="20%">Telefoonnummer:</td> 
   <td width="80%"><input type="text" name="telefoonnummer" size="30" value="<?php if (isset($_POST['telefoonnummer'])) { print $_POST['telefoonnummer']; } ?>"></td> 
</tr> 

<tr> 
   <td width="20%">Mobiel:</td> 
   <td width="80%"><input type="text" name="mobiel" size="30" value="<?php if (isset($_POST['mobiel'])) { print $_POST['mobiel']; } ?>"></td> 
</tr> 

<tr> 
   <td width="20%">KVK-nummer:</td> 
   <td width="80%"><input type="text" name="kvknummer" size="30" value="<?php if (isset($_POST['kvknummer'])) { print $_POST['kvknummer']; } ?>"></td> 
</tr>

 
<tr> 
   <td width="20%"></td> 
   <td width="80%"> 
      &nbsp;<br> 
      <input type="submit" name="submit" value="Verzenden"> 
   </td> 
</tr> 

</form> 
</table>

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(isset($_POST['bedrijfsnaam']) && $_POST['bedrijfsnaam']=="") {
echo "u heeft geen bedrijfsnaam ingevuld.<br>"; 
$ok = "0"; }

elseif (isset($_POST['naam']) && $_POST['naam']=="") {
echo "U heeft geen naam ingevuld.<br>";
$ok = "0"; }

elseif (isset($_POST['email']) && $_POST['email']=="") {
echo "U heeft geen email adres ingevuld.<br>";
$ok = "0"; }

elseif (isset($_POST['telefoonnummer']) && $_POST['telefoonnummer']=="") {
echo "U heeft geen telefoonnummer ingevuld.<br>";
$ok = "0"; }

if($ok == "0") {
echo "De formulier is niet OK .";

}
else {
$bedrijfsnaam = $_POST['bedrijfsnaam'];
$naam = $_POST['naam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$woonplaats = $_POST['woonplaats'];
$email = $_POST['email'];
$telefoonnummer = $_POST['telefoonnummer'];
$mobiel = $_POST['mobiel'];
$kvknummer = $_POST['kvknummer'];

echo "De formulier is OK .";
header("Location:bevestigingspagina.php?bedrijfsnaam=$bedrijfsnaam&naam=$naam&adres=$adres&postcode=$postcode&woonplaats=$woonplaats&email=$email&telefoonnummer=$telefoonnummer&mobiel=$mobiel&kvknummer=$kvknummer");
}
}
?>

voila dit is het scriptje maar je moet nu bij de bevestegingspagina $_POST door $_GET vervangen .
(vergeet niet de naam van je bevestegings pagina te veranderen, alleen maar "bevestigingspagina.php" vervangen niet wat na het vraagteken staat !!!)

Voor een site weet ik niet echt .
Ik heb php geleerd door andere scripts te kijken .
 
Laatst bewerkt door een moderator:
nja hij doet het half nu.

als ik op verzenden klik krijg ik

Warning: Cannot modify header information - headers already sent by (output started at /home/www/teasy.freehostia.com/form.php:7) in /home/www/teasy.freehostia.com/form.php on line 95
:(
 
bij welke pagina zet hij dit ?
bij de mijne of bij die bevestegingspagina ?
 
heb het al opgelost.

je script klopt helemaal :D

het zat hem in de host.
ik het ff snel op google gezocht die zeggen dat het meestal aan de databse ligt. dus heb ik hem naar mijn vaders website geupload inplaats van een gratis host te gebruiken en toen deed die het wel :D

heel erg bedankt voor je hulp nu kan ik eindelijk weer verder. ben hier namelijk al een tijdje mee aan het uitproberen maar kwam er maar niet uit :o

heel erg bedankt :thumb: ik zal je script goed bestuderen zodat ik leer van mijn foutjes :D
 
helemaal niks :P

ik kan het formulier dan invullen en als je dan op verzenden klikt doet die niks.

maar jou formulier is goed. ik moet gewoon geen gratis host meer gebruiken:D

heel erg bedankt:thumb:
 
ja een gratis host is niet ech goe anders zou het niet gratis zijn ;)
Als je je pagina's wilt testen op een eigen webserver download doen wamp5 het is gratis ;)
Het is gwn een eigen web server.
 
bedankt voor de tip. zal ik zeker uitproberen.

en de reden omdat ik gratis host gebruikte was gewoon omdat het gratis is :P
ik wil niet gaan betalen als het alleen maar om te testen is. ook al kost het niet zoveel dacht ik dat het makkelijker zou zijn om gewoon een gratis host te gebruiken.

misschien dat die tip van jou het een stuk makkelijker maakt :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan