Hoi,

Ik ben een beginner met PHP en ik ben bezig met een simpel contactformulier en ik wil graag weten hoe ik deze veiliger kan maken. (In ieder geval dat je alle velden moet invullen en dat hij checkt of het een e-mailadres is dat je hebt ingevuld)

Alvast bedankt!

Dit is mijn script contact.php:



<div id="contact">
<h1>Contact</h1>
<p>
<span style="width: 60px;;display: block;float:left;">Telefoon:</span> 020 320 90 80<br/>
<span style="width: 60px;display:block;float:left;">E-mail:</span> <script type="text/javascript">printemail("info");</script><br/>
</p>
<p>U kunt tevens het onderstaand formulier invullen. Wij nemen vervolgens zo spoedig mogelijk contact met u op.</p>

<h1>Contactformulier</h1>
<form action="index.php?page=form" method="post">
<input type="hidden" name="contactform" value="Y"/>
<input type="hidden" name="Formulier" value="Contactformulier"/>
<table>
<tr><th>Naam:</th><td><input type="text" name="Naam" value="" class="text" /></td></tr>
<tr><th>E-mail:</th><td><input type="text" name="E-mail" value="" class="text" /></td></tr>
<tr><th>Tel. overdag:</th><td><input type="text" name="Tel overdag" value="" class="text" /></td></tr>
<tr><th>Tel. 's avonds:</th><td><input type="text" name="Tel 's avonds" value="" class="text" /></td></tr>
<tr><th>Bericht:</th><td><textarea name="Bericht"></textarea></td></tr>
<tr><th></th><td><input type="submit" value="Verzenden" /></td></tr>
</table>
</form>
</div>




en form.php:



<?php

	$ok=true;
	
	if ($_POST["Formulier"] == "Contactformulier 1" && $_POST["Bemiddelingsvoorwaarden_verhuurder"] != "accoord") {
		echo "<h1>Inschrijfformulier 2</h1><p>U dient accoord te gaan met de voorwaarden.</p><p><a href=\"javascript:history.back(-1);\">Ga terug</a></p>";
		$ok=false;
	}
	
	if ($_POST["Formulier"] == "Inschrijfformulier 1" && $_POST["Bemiddelingsvoorwaarden_huurder"] != "accoord") {
		echo "<h1>Inschrijfformulier 1</h1><p>U dient accoord te gaan met de voorwaarden.</p><p><a href=\"javascript:history.back(-1);\">Ga terug</a></p>";
		$ok=false;
	}
	

	if ($ok) {
	
	
	
	if ($_POST["contactform"]=="Y") {
	
		if (eregi("(\r|\n)", $_POST["Formulier"])) {
		   die("Get out, spammer.");
		}
		if (eregi("(\r|\n)", $_POST["E-mail"])) {
		   die("Get out, spammer.");
		}
	
		$values = array();
		
		foreach ($_POST as $key=>$value) {
			$values[] = $key.": ".$value;
			$body = join("\n",$values);
		}
				
		if ($_POST["Formulier"] == "Inschrijfformulier 1") {
			$recipient = "[email protected]";
		} else {
			$recipient = "[email protected]";
		}

		$headers = "From: ".$_POST["E-mail"];
		mail($recipient,"Formulier: " . $_POST["Formulier"],$body,$headers);
	}





	if ($_POST["Formulier"] == "Contactformulier") {
	
	
	
?>
<h1>Contactformulier</h1>
<br/>
<p>Bedankt voor het invullen van het contactformulier.</p>
<p>Wij nemen zo spoedig mogelijk contact met u op.</p>
<?php
	}


	if ($_POST["Formulier"] == "Contactformulier 1") {
?>
<h1>Inschrijfformulier 2</h1>
<br/>
<p>Bedankt voor het invullen van het formulier.</p>
<p>Wij nemen zo spoedig mogelijk contact met u op.</p>
<?php
	}

	if ($_POST["Formulier"] == "Inschrijfformulier 2") {
?>
<h1>Inschrijfformulier 1</h1>
<br/>
<p>Bedankt voor het invullen van het formulier.</p>
<p>Wij nemen zo spoedig mogelijk contact met u op.</p>
<?php
	}
	
	}
?>
Ik heb er code tags omheen gezet, en zag ook dat je shorttags gebruikt voor php..

[ignore]<?[/ignore] Niet doen, wordt niet overal ondersteunt, gebruik de volledige tag.
Zet dit bovenin je script.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

Reageren