contact formulier geeft lege email

Status
Niet open voor verdere reacties.

feint

Gebruiker
Lid geworden
3 jun 2008
Berichten
273
ik ben bezig met een website. hierbij zit een contactformulier. nu heb ik dit vaker gedaan maar voor een of andere reden krijg ik nu een email waarin het volgende staat

naam:
adres:
postcode:
etc
etc

echter de informatie die in het formulier word ingevuld staat er niet.

dit is het scriptje van het formulier + bevestigingspagina/verzendpagina

formulier
Code:
<?php
session_start();

$_POST['naam']  		= $_SESSION['naam'];
$_POST['adres']			= $_SESSION['adres'];
$_POST['postcode']		= $_SESSION['postcode'];
$_POST['woonplaats']		= $_SESSION['woonplaats'];
$_POST['email']			= $_SESSION['email'];
$_POST['telefoonnummer']	= $_SESSION['telefoonnummer'];
$_POST['mobiel']		= $_SESSION['mobiel'];
?>   

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


<table width="100%"> 

<form action="nieuweklant4.php" name="form" method="post"> 

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



 

<tr> 
   <td width="20%">Naam:</td> 
   <td width="80%"><input type="text" name="naam" size="30" value="<?php echo $_SESSION['naam'];?>"></td> 
</tr> 

<tr> 
   <td width="20%">Adres:</td> 
   <td width="80%"><input type="text" name="adres" size="30" value="<?php echo $_SESSION['adres'];?>"></td> 
</tr> 

<tr> 
   <td width="20%">Postcode:</td> 
   <td width="80%"><input type="text" name="postcode" size="30" value="<?php echo $_SESSION['postcode'];?>"></td> 
</tr> 

<tr> 
   <td width="20%">Woonplaats:</td> 
   <td width="80%"><input type="text" name="woonplaats" size="30" value="<?php echo $_SESSION['woonplaats'];?>"></td> 
</tr> 
<tr> 
   <td width="20%">E-mailadres:</td> 
   <td width="80%"><input type="text" name="email" size="30" value="<?php echo $_SESSION['email'];?>"></td> 
</tr> 

<tr> 
   <td width="20%">Telefoonnummer:</td> 
   <td width="80%"><input type="text" name="telefoonnummer" size="30" value="<?php echo $_SESSION['telefoonnummer'];?>"></td> 
</tr> 

<tr> 
   <td width="20%">Mobiel:</td> 
   <td width="80%"><input type="text" name="mobiel" size="30" value="<?php echo $_SESSION['mobiel'];?>"></td> 
</tr> 



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




</form> 

</table>


bevestigings/verzendpagina
Code:
<?php
session_start();

$_SESSION['naam']		= $_POST['naam'];
$_SESSION['adres']		= $_POST['adres'];
$_SESSION['postcode']		= $_POST['postcode'];
$_SESSION['woonplaats']		= $_POST['woonplaats'];
$_SESSION['email']		= $_POST['email'];
$_SESSION['telefoonnummer']	= $_POST['telefoonnummer'];
$_SESSION['mobiel']		= $_POST['mobiel'];

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


<?php
echo "<B>Naam:           </b>" .$_SESSION['naam']. "<Br />";
echo "<b>Adres:          </b>" .$_SESSION['adres']. "<br />";
echo "<b>Postcode:       </b>" .$_SESSION['postcode']. "<br />";
echo "<b>Woonplaats:     </b> " .$_SESSION['woonplaats']. "<br />";
echo "<b>E-mail:         </b> " .$_SESSION['email']. "<br />";
echo "<b>Telefoonnummer: </b>" .$_SESSION['telefoonnummer']. "<br />";
echo "<b>Mobiel:         </b>" .$_SESSION['mobiel']. "<br />";
?>

<br />

<br />


<font color="red">LET OP!</font><BR />
<small> Voordat uw formulier verzonden kan worden moet u aangeven dat uw gegevens kloppen!</small><br /><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>

<?php

if(isset($_POST['submit1'])) {
	if($_POST['klopt'] =="1"){
		$mail_to	= 	"#####";
		$subject	=	"[######]";	
		$headers        =       "From: ".$naam." <".$email.">\r\n";
		$message	=	"Naam: " .$naam. "\n Adres: " .$adres. "\n Postcode: " .$postcode. "\n Woonplaats: " .$woonplaats. "\n E-mailadres: " .$email. "\n Telefoonnummer: " .$telefoonnummer. "\n Mobiel: " .$mobiel. "\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>";		
}

	}elseif($_POST['klopt'] == ""){ echo "<div style='color: red;'>U heeft niet aangegeven dat uw gegevens kloppen!</div>";
}
}

?>

ik zal wel over een foutje hebben gekeken want ik zie het niet

let erop, ik heb alleen het deel van de pagina gepost wat betrekking heeft tot het probleem!
 
PHP:
		$message	=	"Naam: " .$naam. "\n Adres: " .$adres. "\n Postcode: " .$postcode. "\n Woonplaats: " .$woonplaats. "\n E-mailadres: " .$email. "\n Telefoonnummer: " .$telefoonnummer. "\n Mobiel: " .$mobiel. "\n";
Die variabelen worden niet aangemaakt, overal zal je de $_SESSION-variabelen voor moeten gebruiken.
 
als je dit bedoelt

Code:
<?php

if(isset($_POST['submit1'])) {
	if($_POST['klopt'] =="1"){
		$mail_to	= 	"#####";
		$subject	=	"[####]";	
		$headers        =       "From: ".$_SESSION['naam']." <".$_SESSION['email'].">\r\n";
		$message	=	"Naam: " .$_SESSION['naam']. "\n Adres: " .$_SESSION['adres']. "\n Postcode: " .$_SESSION['postcode']. "\n Woonplaats: " .$_SESSION['woonplaats']. "\n E-mailadres: " .$_SESSION['email']. "\n Telefoonnummer: " .$_SESSION['telefoonnummer']. "\n Mobiel: " .$_SESSION['mobiel']. "\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>";		
}

	}elseif($_POST['klopt'] == ""){ echo "<div style='color: red;'>U heeft niet aangegeven dat uw gegevens kloppen!</div>";
}
}

?>

dit geeft hetzelfde probleem :<
 
Waarom doe je in formulier.php eigenlijk dit?
PHP:
$_POST['naam']  		= $_SESSION['naam'];
$_POST['adres']			= $_SESSION['adres'];
$_POST['postcode']		= $_SESSION['postcode'];
$_POST['woonplaats']		= $_SESSION['woonplaats'];
$_POST['email']			= $_SESSION['email'];
$_POST['telefoonnummer']	= $_SESSION['telefoonnummer'];
$_POST['mobiel']		= $_SESSION['mobiel'];
?>
Ik zie het nut er niet van in en volgens mij zorgt het ook voor fouten.
 
ik doe dit om de sessie te maken. zodat mensen niet de informatie steeds opnieuw hoeven in te vullen als er wat fout gaat.
 
Dat is niet wat de code doet.
Je gaat hier nu $_POST-variabelen vullen met $_SESSION-waardes.

Controleer eens of je sessie-variabelen in je verzendpagina wel worden gevuld.
Gewoon bovenaan even print_r($_SESSION); zetten.
 
als ik die zin erboven zet krijg ik niets te zien. maar als ik bij mijn formulier op verzenden druk stuurt die alle informatie door naar de verzendpagina. ik krijg ook netjes alle ingevulde informatie te zien.

als je een betere of andere manier kent mag je die gerust delen. dit is de manier die iemand mij heeft uitgelegd en die werkte dusja ik heb er nooit verder naar gekeken. ik heb deze techniek op een andere website uitgeprobeerd en daar doet die het goed. enige verschil wat ik daar heb is dat ik daar 3 pagina's heb inplaats van 2.
 
Laatst bewerkt:
ik heb een mailform, die mag je wel hebben (maar ik post hem hier niet)

functies:

checkt alle velden (ik kan wel ff velden voor je toevoegen)
recaptcha anti spam (moet je wel zelf een account aanmaken)
Ontvanger is te selecteren d.m.v select-veld
foutmeldingen
meertalig

dus als je hem wilt hebben zet je email hier maar ff neer
 
heb het al opgelost. mijn formpje werkt weer zoals die moet. had ergens een } teveel staan en die zie je nogal snel over het hoofd :confused:

maar toch bedankt
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan