|
|
|
|
if (isset($action))
{
if ($action == "write")
{
if ($try == "failed")
{
switch($reason)
{
case 'blank' : echo "Вы не заполнили все необходимые поля!"; break;
case 'hacker' : echo "Вы неправильно заполнили все поля!"; break;
case 'longshort' : echo "Длина вопроса должна быть длиной от 5 до 2000 букв."; break;
case 'fuck' : echo "Пожалуйста, пишите ЛИТЕРАТУРНЫМ языком!"; break;
default : echo "Не надо умничать. Пишите в текстовых полях, а не в адресной строке."; break;
}
echo "<br><br>";
}
echo "<form method=POST action=\"guestbook.php\">";
echo "<table><tbody>";
echo "<tr><td width=200>Имя:<font color=\"#FF0000\"><sup>*</sup></font></td><td><input name=name></td></tr>";
echo "<tr><td width=200>E-mail: </td><td><input name=mail></td></tr>";
echo "<tr><td width=200>Город: </td><td><input name=city></td></tr>";
echo "<tr><td width=200>Сообщение:<font color=\"#FF0000\"><sup>*</sup></font></td><td><textarea></textarea></td></tr>";
echo "<tr><td colspan=2><input type=submit name=action value=\"Написать\"></td></tr>";
echo "<tr><td align=right colspan=2><a class=link href=\"guestbook.php\">Просмотр сообщений</a></td></tr>";
echo "</tbody></table></form>";
}
elseif ($action == "Написать")
{
if (($name == "") || ($message == ""))
{
echo "<meta http-equiv=\"refresh\" content=\"0;url=guestbook.php?action=write&try=failed&reason=blank\">";
exit;
}
if (($name == "'") || ($mail == "'") || ($city == "'") || ($message == "'") || (strlen($name)>30) || (strlen($mail)>30) || (strlen($city)>30))
{
echo "<meta http-equiv=\"refresh\" content=\"0;url=guestbook.php?action=write&try=failed&reason=hacker\">";
exit;
}
if ((strlen($message)<3) || (strlen($message)>2000))
{
echo "<meta http-equiv=\"refresh\" content=\"0;url=guestbook.php?action=write&try=failed&reason=longshort\">";
exit;
}
$array1 = array($name,$mail,$city,$message);
$array2 = array("...(здесь висят маты)...");
$flag = "yes";
for ($i=0;$i<4;$i++)
{
for ($j=0;$j<count($array2);$j++)
{
if (stristr($array1[$i],$array2[$j]))
{
$flag = "no";
break;
}
}
}
if ($flag == "no")
{
echo "<meta http-equiv=\"refresh\" content=\"0;url=guestbook.php?action=write&try=failed&reason=fuck\">";
exit;
}
$datenow = date("Y-m-d H-i-s");
$name = htmlspecialchars($name);
$mail = htmlspecialchars($mail);
$city = htmlspecialchars($city);
$message = nl2br(htmlspecialchars($message));
$writequery = mysql_query("INSERT INTO guestbook(name,mail,city,message,date) VALUES ('$name','$mail','$city','$message','$datenow')");
echo "<meta http-equiv=\"refresh\" content=\"0;url=guestbook.php\">";
exit;
}
}
|
Почему-то при первой матной попытке все происходит правильно, т.е. перебрасывается куда нужно. Дальше автоматом при нажатии сабмита человека бросает туда же, как будто бы он опять матюгнулся, хотя этого и не было. В чем дело? | |
|
|
|
|
|
|
|
для: Dima1999
(13.09.2005 в 22:32)
| | А скрипт в каком файле находится, guestbook.php? | |
|
|
|
|
|
|
|
для: cheops
(14.09.2005 в 01:32)
| | Да, все - в guestbook.php | |
|
|
|
|
|
|
|
для: Dima1999
(14.09.2005 в 08:12)
| | А $action в первый раз откуда берётся? | |
|
|
|
|
|
|
|
для: cheops
(14.09.2005 в 12:50)
| | Когда открывается guestbook.php выводятся все сообщения. По ссылке <a href=".......guestbook.php?action=write>Выводится форма для записи. В форме есть кнопка типа сабмит с именем action, по которой сообщение заносится в БД | |
|
|
|
|
|
|
|
для: Dima1999
(14.09.2005 в 13:54)
| | Так в чем же проблема? | |
|
|
|