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
Форумы портала PHP.SU :: Версия для печати :: умоляю поправте мне обратную связь хаккеры спамят
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » умоляю поправте мне обратную связь хаккеры спамят

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

1. mclord - 15 Мая, 2011 - 19:47:39 - перейти к сообщению
нужно сделать 2 вещи
1) Чтобы имя , email , сообщения не могли привышать 50 символов например потом правлю я
2) определение ip кто посылал
вот код

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['name']) and isset($_POST['email']) and isset($_POST['mess'])) {
  4. if (!$_POST['name']) {
  5. echo "<b>Не указано имя!<p>";
  6. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  7. } elseif (!$_POST['email']) {
  8. echo "<b>Не указан e-mail!<p>";
  9. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  10. } elseif (!$_POST['mess']) {
  11. echo "<b>Сообщение не написано!<p>";
  12. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  13. } else {
  14. $to = $_POST['mail_to'];
  15. $charset = "windows-1251";
  16. $subject = "Сообщение с вашего сайта";
  17. $message = "Имя пославшего: ".$_POST['name']." \nЭлектронный адрес: ".$_POST['email']." \nСообщение: ".$_POST['mess'];
  18. $send = mail ($to,$subject,$message,"From:Вопрос <admin@webhost1.biz>");
  19. if ($send == 'true') {
  20. echo "<b>Спасибо за отправку вашего сообщения!<p>";
  21. echo "<a href=info.php?mail>Нажмите,</a> чтобы вернуться на главную страницу";
  22. } else {
  23. echo "<p><b>Ошибка. Сообщение не отправлено!";
  24. }
  25. }
  26. } else {
  27. echo "<b>Сначала Вам нужно заполнить форму!<p>";
  28. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  29. }
  30. ?>
  31.  
2. molchun201 - 15 Мая, 2011 - 19:51:03 - перейти к сообщению
strlen() и $_SERVER["REMOTE_ADDR"] в помощь Подмигивание
3. mclord - 15 Мая, 2011 - 19:53:19 - перейти к сообщению
покажыте как вписать правильно
4. molchun201 - 15 Мая, 2011 - 20:00:15 - перейти к сообщению
ПокаЖЫваю Улыбка

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Проверка что существует имя, мыло и месага +имя и мыло меньше < 50 символов
  4. if (isset(strlen($_POST['name'])<50) and isset(strlen($_POST['mail'])<50) and isset($_POST['mess'])) {
  5. if (!$_POST['name']) {
  6. echo "<b>Не указано имя!<p>";
  7. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  8. } elseif (!$_POST['email']) {
  9. echo "<b>Не указан e-mail!<p>";
  10. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  11. } elseif (!$_POST['mess']) {
  12. echo "<b>Сообщение не написано!<p>";
  13. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  14. } else {
  15. $to = $_POST['mail_to'];
  16. $charset = "windows-1251";
  17. $subject = "Сообщение с вашего сайта";
  18. $message = "Имя пославшего: ".$_POST['name']." \nЭлектронный адрес: ".$_POST['email']." \nСообщение: ".$_POST['mess'];
  19. $send = mail ($to,$subject,$message,"From:Вопрос <admin@webhost1.biz>");
  20. if ($send == 'true') {
  21. echo "<b>Спасибо за отправку вашего сообщения!<p>";
  22.  
  23. // IP
  24. echo "Ваш IP:".$_SERVER["REMOTE_ADDR"];
  25.  
  26. echo "<a href=info.php?mail>Нажмите,</a> чтобы вернуться на главную страницу";
  27. } else {
  28. echo "<p><b>Ошибка. Сообщение не отправлено!";
  29. }
  30. }
  31. } else {
  32. echo "<b>Сначала Вам нужно заполнить форму!<p>";
  33. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  34. }
  35. ?>
  36.  


PS можно ещё и trim() добавить и htmlspecialchars()
5. mclord - 15 Мая, 2011 - 20:09:44 - перейти к сообщению
Fatal error: Can't use function return value in write context in /home/admin/domains/webhost1.biz /public_html/engine/mail/mail.ph p on line 3
6. molchun201 - 15 Мая, 2011 - 20:16:12 - перейти к сообщению
упс Улыбка

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Проверка что существует имя, мыло и месага +имя и мыло меньше < 50 символов
  4. if (strlen($_POST['name']<50) and strlen($_POST['mail']<50) and isset($_POST['mess'])) {
  5. if (!$_POST['name']) {
  6. echo "<b>Не указано имя!<p>";
  7. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  8. } elseif (!$_POST['email']) {
  9. echo "<b>Не указан e-mail!<p>";
  10. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  11. } elseif (!$_POST['mess']) {
  12. echo "<b>Сообщение не написано!<p>";
  13. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  14. } else {
  15. $to = $_POST['mail_to'];
  16. $charset = "windows-1251";
  17. $subject = "Сообщение с вашего сайта";
  18. $message = "Имя пославшего: ".$_POST['name']." \nЭлектронный адрес: ".$_POST['email']." \nСообщение: ".$_POST['mess'];
  19. $send = mail ($to,$subject,$message,"From:Вопрос <admin@webhost1.biz>");
  20. if ($send == 'true') {
  21. echo "<b>Спасибо за отправку вашего сообщения!<p>";
  22.  
  23. // IP
  24. echo "Ваш IP:".$_SERVER["REMOTE_ADDR"];
  25.  
  26. echo "<a href=info.php?mail>Нажмите,</a> чтобы вернуться на главную страницу";
  27. } else {
  28. echo "<p><b>Ошибка. Сообщение не отправлено!";
  29. }
  30. }
  31. } else {
  32. echo "<b>Сначала Вам нужно заполнить форму!<p>";
  33. echo "<a href=info.php?mail>Вернуться к заполнению формы</a>";
  34. }
  35. ?>
  36.  


PS убрал isset'ы
7. mclord - 15 Мая, 2011 - 20:21:23 - перейти к сообщению
ошибка
8. molchun201 - 15 Мая, 2011 - 20:25:28 - перейти к сообщению
Кароче вот аналогия:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method="post">
  3.     <input type="text" name="val"/>
  4.     <input type="submit"/>
  5. </form>
  6.  


PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     if(strlen($_POST['val']) > 50){
  4.         echo "Вы ввели больше 50 символов";
  5.     }else{
  6.         echo $_POST['val'];
  7.     }
  8. ?>
  9.  


Язычок
9. SAD - 15 Мая, 2011 - 23:00:01 - перейти к сообщению
проверять лучше на стороне клиента javascript'ом
10. Саныч - 15 Мая, 2011 - 23:11:35 - перейти к сообщению
SAD пишет:
проверять лучше на стороне клиента javascript'ом

ничего нельзя доверять клиенту, все нужно проверять на стороне сервера... Как вариант 2 проверки: у клиента чиста для "красоты" и на сервере...
11. SAD - 15 Мая, 2011 - 23:21:55 - перейти к сообщению
Саныч пишет:
Как вариант 2 проверки: у клиента чиста для "красоты" и на сервере...

так и нужно

 

Powered by ExBB FM 1.0 RC1