Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: проверка в скрипте не работает

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Snegfighter
Отправлено: 22 Августа, 2008 - 22:00:28
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




не проходит проверка, вопрос почему? все время выдает значение TRUE для проверки на то заполнены ли поля.

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. include 'sql_connect.php';
  4. if ($addguest)
  5. {
  6. $test_spam = mysql_query("SELECT description FROM clip_comment WHERE id = (SELECT MAX(id) FROM clip_comment)");
  7. $spam = mysql_fetch_row($test_spam);
  8. $antispam = $spam['0'];
  9. if($antispam==$description)
  10. echo "вы уже добавили эту запись, вернитесь к клипу и напишите что-нибудь новенькое. ";
  11. else {
  12.                    if ((empty($description))||(empty($name))||(empty($email)))
  13.                 echo "<font color=#FF0000>заполните все поля!</font>";
  14.         else
  15.                 {              
  16. echo "Спасибо, ваше замечание для клипа ".$info2." добавлено";
  17.  
  18. $ip = getenv('REMOTE_ADDR');
  19.  
  20. $add_query=mysql_query("INSERT INTO clip_comment (`entry`, `name`, `email`, `avatar`,  `description`, `ip`) VALUES ('$clip', '$username', '$email', '0', '$description', '$ip')");
  21.                 }
  22.  
  23.  
  24.         }
  25. }
  26. echo "<table border='1' width='400px'>
  27. <TR><TD colspan='2' align='center'>Добавить комментарий</TD></TR>
  28. <form method=post action=''main.php?autor='.$autor.'&clip='.$clip' name=guestbook>
  29. <TR>
  30. <TD width=30%>Имя: </TD><TD><input value='' name=username size=25></TD></TR>
  31. <TD>E-mail: </TD><TD><input value='' name=email size=30></TD></TR>
  32. <TR><TD colspan='2'>Ваше сообщение</TD></TR>
  33. <TR><TD colspan='2'><textarea cols=40 rows=4 size=300 name=description id=description></TD></TR>
  34. <TR><TD colspan='2'><input type=submit value='добавить..' name=addguest></TD></TR>
  35. </TABLE>
  36. ";
  37.  
  38. echo "<table border='1' width='400px'>";
  39. $query_guest_in=mysql_query("SELECT * FROM clip_comment WHERE entry='$clip'");
  40. while ($guest=mysql_fetch_array($query_guest_in))
  41. {
  42. echo "<TR><TD>".$guest['name']."</TD><TD>".$guest['date']."</TD></TR><TR><TD colspan='2'>".$guest['description']."</TD></TR>";
  43. }
  44. echo "</table>";
  45. mysql_close($link);
  46. ?>
  47.  

пробовал и с !isset вместо empty. что я делаю неправильно, объясните плиз
результат всегда "заполните все поля!" и с пустыми строками и с заполненными

(Отредактировано автором: 22 Августа, 2008 - 22:03:14)

 
 Top
A.St.
Отправлено: 23 Августа, 2008 - 10:43:57
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2008  


Помог: 0 раз(а)




Переменная с именем - $username, а проверяешь - $name.
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?
  3. include 'sql_connect.php';
  4. if  ( $addguest) {
  5. //$test_spam = mysql_query("SELECT description FROM clip_comment WHERE id = (SELECT MAX(id) FROM clip_comment)");
  6. //$spam = mysql_fetch_row($test_spam);
  7. //$antispam = $spam['0'];
  8. //if ( $antispam==$description) {
  9. //echo "вы уже добавили эту запись, вернитесь к клипу и напишите что-нибудь новенькое. ";
  10. //} else {
  11. if ( $description == "" || $username == "" || $email == "") {
  12. echo "<font color=#FF0000>заполните все поля!</font>";
  13. } else {
  14. echo "Спасибо, ваше замечание для клипа ".$info2." добавлено";
  15.  
  16. $ip = getenv('REMOTE_ADDR');
  17.  
  18. $add_query=mysql_query("INSERT INTO clip_comment (`entry`, `name`, `email`, `avatar`, `description`, `ip`) VALUES ('$clip', '$username', '$email', '0', '$description', '$ip')");
  19. }
  20.  
  21. }
  22. }
  23. echo "<table border='1' width='400px'>
  24. <TR><TD colspan='2' align='center'>Добавить комментарий</TD></TR>
  25. <form method=post action=''main.php?autor='.$autor.'&clip='.$clip' name=guestbook>
  26. <TR>
  27. <TD width=30%>Имя: </TD><TD><input type='text' value='' name='username' size=25></TD></TR>
  28. <TD>E-mail: </TD><TD><input type='text' value='' name='email' size=30></TD></TR>
  29. <TR><TD colspan='2'>Ваше сообщение</TD></TR>
  30. <TR><TD colspan='2'><textarea cols=40 rows=4 size=300 name='description' id=description></textarea></TD></TR>
  31. <TR><TD colspan='2'><input type=submit value='добавить..' name=addguest></TD></TR>
  32. </TABLE>
  33. ";
  34.  
  35. echo "<table border='1' width='400px'>";
  36. $query_guest_in=mysql_query("SELECT * FROM clip_comment WHERE entry='$clip'");
  37. while ($guest=mysql_fetch_array($query_guest_in))
  38. {
  39. echo "<TR><TD>".$guest['name']."</TD><TD>".$guest['date']."</TD></TR><TR><TD colspan='2'>".$guest['description']."</TD></TR>";
  40. }
  41. echo "</table>";
  42. mysql_close($link);
  43. ?>
  44.  

Я бы еще strip_tags() и htmlspecialchars() использовал + доставал бы все из $_POST в качестве хоть какой-то защиты от дурака.
 
 Top
Snegfighter
Отправлено: 23 Августа, 2008 - 15:38:42
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Авг. 2008  


Помог: 0 раз(а)




спаисбо спасибо!!
да я знаю, просто сначала сам скелет делаю, потом всеми проверками облагораживаю. и вот на первых же проверках спотыкнулся и сломал ногу образно выражаясь )) спасибо.
там еще </textarea> добавить нада было. а то ИЕ и лиса не поняли что текст арея закончилась.,и дальше сабмит.

(Отредактировано автором: 24 Августа, 2008 - 00:52:45)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB