form header

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

feint

Gebruiker
Lid geworden
3 jun 2008
Berichten
273
ik heb een formulier in elkaar geflanst met een beetje hulp van een persoon op dit forum.

nu heb ik ondertussen hem helemaal af.
ik zal even uitleggen hoe het in zijn werk gaat.

ik heb een formulier waarbij je Naam email en telefoonnummer verplicht zijn (klant gerichte website) nu worden die gegevens mits ze goed gekeurd zijn door mijn validatiescript doorverzonden naar een nieuwe pagina (bevestigingspagina) hier word alle informatie weer weergegeven zodat mensen hun informatie kunnen nakijken.
als de info correct is moeten ze een checkbox aanvinken eerder kan de mail niet verzonden worden

eerst had ik problemen dat als je de checkbox niet aanvinkte hij je terug bracht naar dezelfde pagina maar hij dan de informatie niet opnieuw kon opvragen. iemand op dit forum heeft dit voor mij opgelost en daar was ik toen blij mee maar ik wil het NOG beter :p
Op het moment stuurt hij zo

Code:
header("Location:checkinput.php?naam=$naam&email=$email&telefoonnummer=$telefoonnummer&mobiel=$mobiel&vragen=$vragen");

maar ik wil niet dat de informatie in de header komt te staan.

op het bevestigings formulier word de informatie opgehaald met GET.
ik ben nogal nieuw met php dus normaal gebruik ik zelf POST maar dit schijnt niet te werken.

volledig script

Code:
<?php include("header1.php"); ?>

			<div id="content">

		<div class="post">
	<h1 class="title">Aanvraag/vragen</h1>
	<p class="byline"><small> Posted by <a href="#">Webmaster</a></small> </p>
<BR />
<BR />
</div>
<div class="post2">

Hier kunt u invullen of u een website wil laten maken door ####. <br />
Ook kunt u hier eventuele vragen invullen.<BR/> <Br />
	<form action="" name="form" method="POST"> 


<?php




if ($_SERVER['REQUEST_METHOD'] == 'POST') {

if (isset($_POST['naam']) && $_POST['naam']=="") {
echo "<div style='color: red;'>U heeft geen naam ingevuld.<br></div>";
$ok = "0"; }



if (isset($_POST['email']) && $_POST['email']=="") {
echo "<div style='color: red;'>U heeft geen E-mail adres ingevuld.<br></div>";
$ok = "0"; }

elseif(!eregi('^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+\.)*([a-z0-9-]+)(\.[a-z]{2,3})?)$', $_POST['email'])) {
 echo "<div style='color: red;'>Dit is geen geldig E-mail adres.<br></div>";
$error = "0";
}

else {
$error="1";
}

if (isset($_POST['telefoonnummer']) && $_POST['telefoonnummer']=="") {
echo "<div style='color: red;'>U heeft geen Telefoonnummer ingevuld.<br></div>";
$ok = "0"; }

elseif(!eregi ('^[0-9]{10}$', $_POST['telefoonnummer'])) {
echo "<div style='color: red;'>Dit is geen geldig telefoonnummer<br /></div>";
$error = "0";
}

else{
$error="1";
}

if($ok == "0" || $error == "0") {
echo "Vul de verplichte velden in. Deze zijn te herkennen aan een * .";
}

if($ok == "1" || $error == "1") {
$naam = $_POST['naam'];
$email = $_POST['email'];
$telefoonnummer = $_POST['telefoonnummer'];
$mobiel = $_POST['mobiel'];
$vragen = $_POST['vragen'];

header("Location:checkinput.php?naam=$naam&email=$email&telefoonnummer=$telefoonnummer&mobiel=$mobiel&vragen=$vragen");
}
}
?> 

<BR />
<br />
<table width="100%" border="0"> 


<tr> 
<td width="20%">Dhr/Mvr:</td>
<td width="40%">
<SELECT NAME="geslacht">
<OPTION>Kies een optie</OPTION>
<OPTION>Dhr</OPTION>
<OPTION>Mvr</OPTION>
</SELECT>
</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%">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%">Uw bericht:</td> 
	<td class="form_text" style="width: 285px name="vragen" value="<?php if (isset($_POST['vragen'])) { print $_POST['vragen']; } ?> ">
	<textarea name="vragen" cols="35" rows="7" onclick=" value='';">Hier kunt u vragen stellen of in schrijven of u een website wilt aanvragen.</textarea>
			</td>
		</tr>
		<tr>


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


   </td> 
</tr> 

</form> 
</table>
<BR /><br />





</div>
		<!-- end content -->

</div>
	<?php include("header2.php"); ?>



			<!-- start page -->

	<?php include("sidebar.php"); ?>


			
		<div style="clear: both;">

</div>
	<?php include("footer.php"); ?>


Bevestigingsscript

Code:
	<?php include("header1.php"); ?>

			<div id="content">

		<div class="post">
	<h1 class="title">Bevestiging </h1>
	<p class="byline"><small> Posted by <a href="#">Webmaster</a></small> </p>
<BR />
<BR />
</div>
<div class="post2">

<?

$naam				=	$_GET['naam'];
$email_from			=	$_GET['email'];
$telefoon			=	$_GET['telefoonnummer'];
$mobiel				=	$_GET['mobiel'];
$vragen				=	$_GET['vragen'];


echo "Naam: " .$naam. "<br />";
echo "E-Mail: " .$email_from. "<br />";
echo "Telefoonnummer: " .$telefoon. "<br />";
if(isset($mobiel)){
	echo "Mobiel: " .$mobiel. "<br />";
echo "Vragen: " .$vragen. "<br />";

}
?>
<Br />
<font color="red">LET OP!</font><BR />

<form action="<? $_SERVER['PHP_SELF']; ?>" method="POST">
Mijn gegevens kloppen<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	= 	"####";
		$subject	=	"[MAIL FORM WEBSITE]";	
		$headers        =       "From: ".$naam." <".$email_from.">\r\n";
		$message	=	"Naam: " .$naam. "\n  E-mailadres: " .$email. "\n Telefoonnummer: " .$telefoonnummer. "\n Mobiel: " .$mobiel. "\n Vragen: " .$vragen. "\n";
		$mail		=	mail($mail_to,$subject,$message,$headers);
		if($mail){
			echo "<div style='color: green;'>Uw mail is verstuurd!</div>";
			
		}else{
			echo "<div style='color: red;'>Uw mail is niet verstuurd!</div>";		
}
	}else{
		echo "<div style='color: red;'>U heeft niet aangegeven dat uw gegevens kloppen.</div>";
	}
}



?>

</div>
		<!-- end content -->

</div>
	<?php include("header2.php"); ?>



			<!-- start page -->

	<?php include("sidebar.php"); ?>


			
		<div style="clear: both;">

</div>
	<?php include("footer.php"); ?>

enig idee hoe ik ervoor kan zorgen dat de informatie steeds overnieuw kan worden opgevraagt mocht er iets fout gaan niet dat mensen steeds terug moeten gaan om de informatie overnieuw in te vullen als ze vergeten zijn de checkbox aan te vinken.

uiteindelijk wil ik dat geen informatie weg mag vallen als het ingevuld is. dus ook in het formulier zelf!
 
Hiervoor zijn de sessies ideaal. Zoietst zou je bijvoorbeeld moeten doen:
PHP:
<?php
// Eerst start je de sessie van de gebruiker
session_start();
// Daarna zet je de variabelen in de sessie:
$_SESSION['naam'] = $naam;
$_SESSION['telnum'] = $telnum;
enz...
?>

Om die variabelen dan weer op te vragen op een andere pagina, doe je het gewoon andersom:
PHP:
<?php
$naam = $_SESSION['naam'];
$telnum = $_SESSION['telnum'];
enz...
?>

Zo'n sessie verloopt normaal gesproken als de gebruiker de browser afsluit.

Ik hoop dat dit zal helpen!

Heb je nog andere vragen of problemen hiermee, vraag dan gerust :thumb:

Groetjes,

Kaj-Ivar
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan