В папке laba5 находятся 4 файла:
1.анкета.html
<html>
<head>
<title>Анкета</title>
<script>
function checkForm(obj){
var return_value = true;
// для проверки почтового ящика
var reg_a = /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i;
// для проверки ФИО
var reg_b = /[а-я]+/i;
// регулярное вырожение для проверки з.пл
var reg_c = /[0-9]+/i;
// заносим значение поля фамилия в переменную f
var h = obj.fio.value;
// заносим значение поля имя в переменную n
var n = obj.name.value;
// заносим значение поля отчество в переменную o
var o = obj.ot.value;
// заносим значение поля почтовый ящик в переменную mail
var mail = obj.email.value;
// заносим значение поля дата рождения в переменную d
var d = obj.data.value;
// заносим значение поля о себе в переменную dop
var w = obj.dopinfo.value;
// заносим значение поля з.пл в переменную z
var q = obj.zp.value;
// объявляем переменную куда будет заносится текст сообщения
var error_msg = "Некорректно заполнены поля: ";
if(reg_b.exec(h) == null ){
error_msg += "Фамилия ";
return_value = false;
}
if(reg_b.exec(n) == null ){
error_msg += "Имя ";
return_value = false;
}
if(reg_b.exec(o) == null ){
error_msg += "Отчество ";
return_value = false;
}
if(reg_a.exec(mail) == null ){
error_msg += "Email ";
return_value = false;
}
if(reg_c.exec(d) == null ){
error_msg += "ДатаРождения ";
return_value = false;
}
if(w == "" ){
error_msg += "О себе ";
return_value = false;}
if(reg_c.exec(q) == null ){
error_msg += "ТребуемаяЗ.ПЛ ";
return_value = false;
}
//проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
if(!return_value)
alert(error_msg);
return return_value;
}
</script>
</head>
<body>
<form method="POST" action="action.php" onSubmit="return checkForm(this);">
Фамилия:
<input type="TEXT" name="fio"><br>
Имя:
<input type="TEXT" name="name"><br>
Отчество:
<input type="TEXT" name="ot"><br><br>
E-mail:
<input type="TEXT" name="email"><br><br>
Образование:
<select name="obrazovanie">
<option value="Высшее">Высшее</option>
<option value="Среднее">Среднее</option>
</select><br><br>
Дата Рождения
<input type="TEXT" name="data"><br><br>
О себе:<br><br>
<textarea cols="30" rows="3" wrap="hard" name="dopinfo" ></textarea><br><br>
Требуемая ЗП<input type="TEXT" name="zp"><br><br>
Знание Я.П<br><br>
SQL<input type="checkbox" NAME="language1" value="SQL">
PHP<label><input type="checkbox" NAME="language2" value="PHP">
CSS<label><input type="checkbox" NAME="language3" value="CSS"><br><br>
Пол:<br>
М<INPUT TYPE="RADIO" NAME="pol" VALUE ="М" >
Ж<INPUT TYPE="RADIO" NAME="pol" VALUE ="Ж"><br><br>
Проверочный код:<br>
<img src = "captcha.php" /><br>
<input type = "text" name = "kaptcha" /><br>
<a href="анкета.html">Обновить изображение</a><br>
<input name="submit" type="submit" value="Отправить"><br>
<input name="reset" type="reset"" value="Очистить" >
</form>
</body>
</html>
2.captcha.php
<?php
$letters = 'ABCDEFGKIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_++-';
$caplen = 8;//длина капчи.
$width = 170;
$height = 70;
$font = 'comic.ttf';//файл шрифта
$fontsize = 14;//Размер шрифта.
header('Content-type: image/png');
$im = imagecreatetruecolor($width, $height);//изображение с заданными размерами
imagesavealpha($im, true);//Выставляем флаг необходимости сохранения альфа-канала изображения
$bg = imagecolorallocatealpha($im, 0, 0, 0, 127);//Создаем цвет фона. Это будет полностью прозрачный цвет
imagefill($im, 0, 0, $bg);//Заливаем этим цветом наше созданное изображение
//putenv( 'GDFONTPATH=' . realpath('.') );
$captcha = '';//Инициализируем переменную, в которой будет содержаться текстовое значение капчи
for ($i = 0; $i < $caplen; $i++) {
$captcha .= $letters[ rand(0, strlen($letters)-1) ];
$x = ($width - 20) / $caplen * $i + 10;//Вычисляем положение сгенерированного символа на изображении по оси x
$x = rand($x, $x+4);//смещение
$y = $height - ( ($height - $fontsize) / 2 );
$curcolor = imagecolorallocate( $im, rand(0, 100), rand(0, 100), rand(0, 100) );//случайный цвет для символа
$angle = rand(-25, 25);//угол наклона в диапазоне -25..25 градусов, чтобы буквы на капче "плясали"
imagettftext($im, $fontsize, $angle, $x, $y, $curcolor, $font, $captcha[$i]);// рисуем символ со всеми выше полученными характеристиками на изображении
}
//session_start();
$_SESSION['captcha'] = $captcha;
imagepng($im);
imagedestroy($im);
?>
3 action.php
<?PHP
session_start();
if($_POST['kaptcha'] = $_SESSION['captcha'])
{ echo "Фамилия: ".$_POST['fio']."<br>";
echo "Имя: ".$_POST['name']."<br>";
echo "Отчество: ".$_POST['ot']."<br>";
echo "E-mail: ".$_POST['email']."<br>";
echo "Образование: ".$_POST['obrazovanie']."<br>";
echo "Дата Рождения: ".$_POST['data']."<br>";
echo "О себе: ".$_POST['dopinfo']."<br>";
echo "Требуемая З.П: ".$_POST['zp']."<br>";
echo "Знание Я.П: ";
echo $_POST['language1']." ";
echo $_POST['language2']." ";
echo $_POST['language3']." ";
echo "<br>Пол: ".$_POST['pol']."<br>";
}
else echo "Капча введена неверно<br>";
?>
4. comic.ttf //шрифт
Выводит разные ошибки,к примеру :
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Q:\home\localhost\www\laba5\action.php:2) in Q:\home\localhost\www\laba5\action.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Q:\home\localhost\www\laba5\action.php:2) in Q:\home\localhost\www\laba5\action.php on line 3
Капча введена неверно
Не могу исправить....