Създаване на картинка за визуално потвърждение
Автор: darkness
Първо ще създадем image.php от където ще се генерира картинката.
image.php
<?php
include('functions.php'); //включване на functions.php
session_name('sesID'); //задаване име на сесията
session_start(); //стартиране на сесията
global $_SESSION;
$im = imagecreate(94, 16); //създаване на картинката -> дължина - 94, ширина - 16
$bg = imagecolorallocate($im, 240, 240, 240); //задаване на цвят на фона
$textcolor = imagecolorallocate($im, 0, 0, 0); //задаване цвят на текста
imagestring($im, 5, 22, 0, $_SESSION['code'], $textcolor); //инициализиране на самата картинка
header("Content-type: image/png");
imagepng($im);
?>След това инициализираме картинката във форма:
form.php
<?php
include('functions.php');
session_name('sesID'); //задаване името на сесията
session_start(); //стартиране на сесията
$_SESSION['code'] = rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9); //генериране на случаен код за картинката
echo ' //инициализация на формата
<?xml version=\'1.0\' encoding=\'windows-1251\'?>
<html xmlns=\'http://www.w3.org/1999/xhtml\'>
<head>
<title> :: RT: Request Tracker v1.0 :: </title>
<meta http-equiv=\'Content-Type\' content=\'text/html; charset=windows-1251\' />
</head>
<body bgcolor=\'#5e5e5e\'><br /><br /><br /><br /><br /><br />
<center><form action=\'?\' method=\'post\'>
<table border=\'2\' cellpadding=\'5\'>
<tr><td><b><font color=\'red\'>Потребител:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'username\' /></td></tr>
<tr><td><b><font color=\'red\'>Парола:</b></td><td align=left><input type=\'password\' size=\'25\' name=\'password\' /></td></tr>
<tr><td><b><font color=\'red\'>Име:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'name\' /></td></tr>
<tr><td><b><font color=\'red\'>Email:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'email\' /></td></tr>
<tr><td><b><font color=\'red\'>Възраст:</b></td><td align=left><input type=\'text\' size=\'25\' name=\'age\' /></td></tr>
<tr><td><b><font color=\'red\'>Пол:</b></td><td align=left><select name=\'sex\'><option value=\'--\'>------</option><option value=\'male\'>Мъж</option><option value=\'female\'>Жена</option></select>
<tr><td><b><font color=\'red\'>Код за сигурност:</b></td><td><img src=\'image.php\' align=\'top\' /></td></tr>
<tr><td><b><font color=\'red\'>Въведете кода:</b></td><td><input type=\'text\' name=\'code\' value=\'\' size=\'25\'></td></tr>
<tr><td><center><input type=\'reset\' name=\'reset\' value=\'Отказ\'></center></td><td><center><input type=\'submit\' name=\'submit\' value=\'Регистрация\'></center></td></tr>
</form></table></center>
<center><a href=\'index.php\'>Обратно</a></center>
</body>
</html>';
}
?>Това е проверката в functions.php
functions.php
<?php
session_name('sID');
session_start();
global $_SESSION;
if($_SESSION['code'] != $code) { die('<center><font color=\'red\' size=\'3\' face=\'Tahoma\'><b>*** Несъответстващ код!</b></font></center><br /><br />'); } else { ... }
?>

