| Помогите с проблемой. Хочу реализовать защиту от автоматического заполнения полей формы. Скрипт следующий:
<?
# Модуль добавления записи
#Error_Reporting(0);
$name = $_SERVER["SCRIPT_FILENAME"];
$namew = basename($_SERVER["SCRIPT_FILENAME"]);
$error = "";
$action = $_POST["action"];
if (!empty($action))
{
$lenmsg = strlen($_POST["idea"]);
$templen = 0;
$temp = strtok($_POST["idea"], " ");
if (strlen($_POST["idea"])>60) {
while ($templen < $lenmsg) {
if (strlen($temp)>60) {
$action = "";
$error = $error."<LI>Текст сообщения содержит слишком много символов без пробелов\n";
break;
} else {
$templen = $templen + strlen($temp) + 1;
}
$temp = strtok(" ");
}
}
$idea = trim($_POST["idea"]);
$pasv = $_POST["pasv"];
if (empty($idea)||$idea == "сообщение")
{
$action = "";
$error = $error."<LI>Вы не ввели сообщение.\n";
}
if (empty($pasv)||$pasv !== $zero)
{
$action = "";
$error = $error."<LI>Вы ввели неверный код.\n";
}
$idea = substr($_POST["idea"],0,100);
$idea = htmlspecialchars(stripslashes($idea));
if (empty($error))
{
$valmail = "m@m.ru";
$all = "Адрес $name. Сказано следующее: $idea";
$thm = "Добавление записи.";
mail($valmail, $thm, $all);
echo "<div align=center class=spa>Спасибо</div>";
sleep (0);
print "<HTML><HEAD>\n";
print "<META HTTP-EQUIV='Refresh' CONTENT='99; URL=$namew'>\n";
print "</HEAD></HTML>\n";
}
}
if (empty($action))
{
#числа от авто генерации
$number = "4";
// Параметр $number - сообщает число
// символов в пароле
function generate_password($number)
{
$arr = array('A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','R','S',
'T','U','V','X','Y','Z',
'1','2','3','4','5','6',
'7','8','9','0');
// Генерируем пароль
$pass = "";
for($i = 0; $i < $number; $i++)
{
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}
$zero = htmlspecialchars(generate_password($number));
?>
<br>
Связаться c нами проще простого. Обращайтесь к нам. Мы всегда готовы помочь.
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method=post name=action>
<input type=hidden name=action value=post>
<div style="margin-bottom:10px; margin-top:10px">
<textarea style="width:240px;height:80px" name="idea" onClick="this.value=''">сообщение</textarea>
</div>
<div style="margin-bottom:10px; margin-top:10px">
<? echo "$zero"; ?> <input value="" type="text" style="width: 80px" name="pasv" />
</div>
<input type="submit" class="mnenie" value="Поделиться мнением" name="go">
</FORM>
<?
if (!empty($error))
{
print "<P><font color=green>Во время добавления записи произошли следующие ошибки: </font></P>\n";
print "<UL>\n";
print $error;
print "</UL>\n";
}
?>
<?
}
?>
Что бы я не набирал в поле pasv выдаёт только одно: Вы ввели неверный код. И как сделать, чтоб скрипт был чувствителен к регистру? | |