Php code voor formulier

Status
Niet open voor verdere reacties.

Koenie

Gebruiker
Lid geworden
14 mei 2004
Berichten
312
Hallo allemaal,

ik heb een contact formulier gemaakt en hier moet de php code nog bij gemaakt worden.
Ik heb de hele nacht al allerlei scripts van internet gehaald, maar mijn kennis van php is zo beperkt dat ik er niet uit kom.
Ik weet b.v. niet wat ik moet veranderen aan zo'n script om het voor mijn formulier werkend te krijgen.

Is er iemand die voor mij een php script in elkaar wil zetten aan de hand van onderstaande formulier?

Code:
<form id="form1" name="form1" method="post" action="">
	  <table>
        <tr>
          <td width="99"><label for="KlantNaam">Naam:</label></td>
          <td width="290"><label for="KlantNaam"></label>
            <input type="text" name="KlantNaam" id="KlantNaam" /></td>
        </tr>
        <tr>
          <td><label for="Email">Email adres</label></td>
          <td><input type="text" name="Email" id="Email" /></td>
        </tr>
        <tr>
          <td><label for="Onderwerp">Onderwerp</label></td>
          <td><input type="text" name="Onderwerp" id="Onderwerp" /></td>
        </tr>
        <tr>
          <td><label for="Vraag">Vraag:</label></td>
          <td><textarea name="Vraag" id="Vraag" cols="30" rows="5"></textarea></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="Wissen" id="Wissen" value="Wissen" /> <input type="submit" name="Verzenden" id="Verzenden" value="Verzenden" /></td>
        </tr>
      </table>

Ik wil het php script contact.php noemen, en ik wil dat er een bevestigingsmail naar de afzender gestuurd wordt.
Als ik nog iets moet aanpassen, willen jullie dit dan in Jip en Janneke taal erbij vermelden?

alvast mijn dank.

Monique.
 
Laatst bewerkt:
Hey Koenie

Hieronder is een contact formulier wat je zo kunt gaan gebruiken.
Wel moet je nog een CSS bestand aan toekennen, een titel bij zetten en de naam en email van de webbeheerder bij zetten (het email adres waar het formulier naar toegezonden moet worden)
PHP:
<?php
ob_start();
//Headers zetten zodat de de inhoud niet word gecashed
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

$wm_naam = "Naam van de Webmaster";
$wm_email = "emailvande@webmaster.nl";
$spam = 30;
$fout_text = TRUE;
$fout_vakje = TRUE;
$formulier = TRUE;
?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<meta name='author' content='MVesign' />
<meta name='description' content='' />
<meta name='keywords' content='' />
<link rel='stylesheet' type='text/css' href='' />
<link rel='SHORTCUT ICON' href='' />
<title>Een titel</title>
</head>
<body>
<?php		
function checkmail($email){
	if(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $email)) {
		return TRUE;
	}
	return FALSE;
}

if(!isset($_COOKIE['mailformulier'])) {
	if(isset($_POST['wis']) && ($_SERVER['REQUEST_METHOD'] == "POST")) {
		foreach ($_POST as $key => $value){
			unset($value);
		}
		header("Location: ".$_SERVER['PHP_SELF']."");
	}
	/* Alles Controleren Wanneer er op Verzenden wordt gedrukt. */
	if(isset($_POST['verzenden'])) {        
		$naam = trim($_POST['naam']);
		$email = trim($_POST['email']);
		$onderwerp = trim($_POST['onderwerp']);
		$bericht = trim($_POST['bericht']);
		$fout = "";

		$headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n"; 
		$headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
		$headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
		$headers .= "MIME-Version: 1.0\n";
		$headers .= "Content-Transfer-Encoding: 8bit\n";
		$headers .= "Content-type: text/html; charset=iso-8859-1\n";
			
		$message = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
					<html><head></head><body>
					<ul><li>Naam: ".$naam."</li>
						<li>Email: <a href=\"mailto:".$email."\">".$email."</a></li>
						<li>Onderwerp: ".$onderwerp."</li>
						<li>--------------------------------------------------</li>
						<li>Bericht: ".$bericht."</li>
						<li>--------------------------------------------------</li>
						<li>Datum: ".date("d-m-Y H:i:s")."</li>
					</ul></body></html>";

		if((empty($naam)) || (strlen($naam) < 3) || (eregi("[<>]", $naam))) {
			$fout .= "U heeft een incorrecte naam ingvuld! <br />";
			unset($naam);
			$fout_vakje_naam = "input_fout";
			$fout_text_naam = "text_fout";
		}
		if((empty($email)) || (strlen($email) < 7) || (eregi("[<>]", $email)) || checkmail($email) == 0) {
			$fout .= "U heeft een incorrect email adres ingevuld!";
			unset($email);
			$fout_vakje_email = "input_fout";
			$fout_text_email = "text_fout";
		}
		if((empty($onderwerp)) || (strlen($onderwerp) < 10) || (eregi("[<>]", $onderwerp))) {
			$fout .= "U heeft een incorrect onderwerp ingevuld!";
			unset($onderwerp);
			$fout_vakje_onderwerp = "input_fout";
			$fout_text_onderwerp = "text_fout";
		}
		if(empty($bericht) || strlen($bericht) < 6) {
			$fout .= "U heeft geen of een te kort bericht ingevuld!";
			unset($bericht);
			$fout_vakje_bericht = "input_fout";
			$fout_text_bericht = "text_fout";
		}
		if(!$fout_text) {
			unset($fout_text_naam);
			unset($fout_text_email);
			unset($fout_text_onderwerp);
			unset($fout_text_bericht);
		}
		if(!$fout_vakje) {
			unset($fout_vakje_naam);
			unset($fout_vakje_email);
			unset($fout_vakje_onderwerp);
			unset($fout_vakje_bericht);
		}
		if(!empty($fout)) {
		}
		else{
			$mail = mail($wm_email,$onderwerp,$message,$headers);
	
			if ($mail) {
				echo "	<center>Succes...!!<br>Jou bericht is zo juist succesvol verzonden!<br>
						Er wordt zo snel mogelijk hierop gereageerd<br><br>".$wm_naam."</center>";
				
				setcookie("mailformulier",1,time()+($spam*60));
				$formulier = TRUE;
			}
			else {
				echo "	<center>Oeps...!!<br>Er is een fout opgetreden met het verzenden van jou bericht!<br>
						Ons excuses voor het ongemak en probeer het opnieuw!<br><br>".$wm_naam."</center>";
			}
		}
	}
}
else {
	$formulier = FALSE;
	echo "	<center>Oeps...!!<br>Je kunt maar eens in de ".$spam." minuten een e-mail versturen!<br>
			Wij hopen hiervoor je begrip, dank je wel!<br><br>".$wm_naam."</center>";
}

if($formulier){
?>
<table><tr>
	<form method="post" action="contact.php">
	<td class="<? echo $fout_text_naam; ?>">Naam:</td>
	<td><input type="text" class="<? echo $fout_vakje_naam; ?>" id="naam" name="naam" maxlength="20" value="<? if (!empty($naam)) { echo stripslashes($naam); } ?>" /></td>
</tr><tr>
	<td class="<? echo $fout_text_email; ?>">Email:</td>
	<td><input type="text" class="<? echo $fout_vakje_email; ?>" id="email" name="email" maxlength="30" value="<? if (!empty($email)) { echo $email; } ?>" /></td>
</tr><tr>
	<td class="<? echo $fout_text_onderwerp; ?>">Onderwerp:</td>
	<td><input type="text" class="<? echo $fout_vakje_onderwerp; ?>" id="onderwerp" name="onderwerp" maxlength="10" value="<? if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" /></td>
</tr><tr>
	<td valign="top" class="<? echo $fout_text_bericht; ?>">Vraag:</td>
	<td><textarea id="bericht" name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="35" rows="6"><? if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea></td>
</tr><tr>
	<td>&nbsp;</td><td>&nbsp;</td>
</tr><tr>
	<td><input type="submit" id="verzenden" class="button" name="verzenden" value="Verzenden" /></td><td><input type="submit" id="wis" class="button" name="wis" value="Wis velden" /></td>
	</form> 
</tr></table>
<?php
}
?>
</body>

</html>
Dit formulier bevat geen Captcha maar wel fout afhandeling en Anti-Spam controlle

succes ermee en als je vragen heb hoor ik ze wel
 
Hoi,

tot zover bedankt voor de reacties.

@reinvb;

dank voor de linkjes.
Maar zoals aangegeven in mijn bericht; ik heb niets aan een kant en klaar script want ik weet niet wat ik moet veranderen.


@vreugde;

als wat moet ik dit op slaan?
Ik heb het geprobeerd als zijnde .html maar krijg dan de code met onderin de vakjes voor het formulier, hier staat echter ook code in.

Monique
 
Je zult het op moeten slaan als ******.php

Echter is dit niet afdoende als je niet over een server beschikt die PHP kan parsen. Je zult dan óf ergens serverruimte moeten regelen, of zelf op je PC een server installeren (WAMP / XAMPP / LAMP / MAMP / USBWEBSERVER)

Alléén dan zal het werken. De parser vertaalt namelijk de PHP code naar HTML code die interpreteerbaar is voor de browser (beetje kort door de bocht, maar daar komt het meestal op neer). Heb je geen parser, dan wordt de code direct naar de browser geoutput en zal de browser die ook gewoon weergeven.
 
Hoi Frats,

het is gelukt met je scriptje.

bedankt.

Monique
 
Goed om te horen :)

Veel succes ermee.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan