[code]
<?php
session_start(); // sessie starten

// netjes de variabele aanmaken om notice meldingen te voorkomen
$x = "";

$num = 5; // aantal afbeeldingen dat je wil laten zien

if(isset($_POST['validatie'])){ // is er op de verzend knop geklikt?
	// de POST gegevens ophalen
	$code = strtolower($_POST['code']);
	if(!is_numeric($code)){ // zijn er cijfers ingevoerd?
		
		// de ingevoerde code weer omzetten in cijfers
		$code = str_replace("a", "0_", $code);
		$code = str_replace("b", "1_", $code);
		$code = str_replace("c", "2_", $code);
		$code = str_replace("d", "3_", $code);
		$code = str_replace("e", "4_", $code);
		$code = str_replace("f", "5_", $code);
		$code = str_replace("g", "6_", $code);
		$code = str_replace("h", "7_", $code);
		$code = str_replace("i", "8_", $code);
		$code = str_replace("j", "9_", $code);
		$code = str_replace("k", "10_", $code);
		$code = str_replace("l", "11_", $code);
		$code = str_replace("m", "12_", $code);
		$code = str_replace("n", "13_", $code);
		$code = str_replace("o", "14_", $code);
		$code = str_replace("p", "15_", $code);
		$code = str_replace("q", "16_", $code);
		$code = str_replace("r", "17_", $code);
		$code = str_replace("s", "18_", $code);
		$code = str_replace("t", "19_", $code);
		$code = str_replace("u", "20_", $code);
		$code = str_replace("v", "21_", $code);
		$code = str_replace("w", "22_", $code);
		$code = str_replace("x", "23_", $code);
		$code = str_replace("y", "24_", $code);
		$code = str_replace("z", "25_", $code);
		
		if($code == $_SESSION['validatie_check']){ // de opgegeven code vergelijken met de check uit de sessie
			$succes = true; // het klopt
		} else {
			$succes = false; // het klopt niet
		}
	} else {
		$succes = false; // er zijn cijfers ingevoerd i.p.v. letters, dus het klopt niet
	}
}

// de cijfer code genereren
for($i = 0; $i < $num; $i ++){
	$x .= rand(0,25) . "_";
}

$_SESSION['validatie_check'] = $x; // de code in de sessie bewaren zodat je het later kan controlleren

// de letters defineren
$a[0] = 'A';
$a[1] = 'B';
$a[2] = 'C';
$a[3] = 'D';
$a[4] = 'E';
$a[5] = 'F';
$a[6] = 'G';
$a[7] = 'H';
$a[8] = 'I';
$a[9] = 'J';
$a[10] = 'K';
$a[11] = 'L';
$a[12] = 'M';
$a[13] = 'N';
$a[14] = 'O';
$a[15] = 'P';
$a[16] = 'Q';
$a[17] = 'R';
$a[18] = 'S';
$a[19] = 'T';
$a[20] = 'U';
$a[21] = 'V';
$a[22] = 'W';
$a[23] = 'X';
$a[24] = 'Y';
$a[25] = 'Z';

for($i = count($a) - 1; $i >= 0; $i --){ 
	$x = str_replace($i . "_", $a[$i], $x); // de getallen door letters vervangen
}

$font = imageloadfont('3d.gdf'); // gdf font laden, gebruik hiervoor GDF fonts en geen windows fonts!
$fontWidth = imagefontwidth($font); // hoe breed is de font?
$fontHeight = imagefontheight($font); // hoe hoog is de font?
$im = imagecreate(strlen($x) * $fontWidth, $fontHeight); // afbeelding aanmaken door de lengte van code te vermeningvuldigen met de lengte van de font
imagecolorallocate($im, 255, 255, 255); // achtergrondkleur instellen
$fgColor = imagecolorallocate($im, 100, 100, 100); // letterkleur defineren
imagestring($im, $font, 0, 0, $x, $fgColor); // de code in de afbeelding stoppen
imagejpeg($im, "pic.jpg", 100); // afbeelding in jpeg formaat zetten en opslaan in 'pic.jpg'

?>

<html>
<head>
<title>Validatie Script</title>
</head>
<body>
<img src="pic.jpg" />
<form method="post">
<input type="text" name="code" />
<input type="submit" name="validatie" value="Valideer!" />
</form>

<?php
if(!isset($succes))
	echo "Type de letters die je ziet."; // iets doen als er nog niks gedaan is
else {
	if($succes)
		echo "Je bent een mens."; // iets doen bij succes
	elseif(!$succes)
		echo "Fout! Probeer het nog eens."; // iets doen als er geen succes is
}
?>

</body>
</html>
[/code]