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]   

> Без описания
mclord
Отправлено: 15 Мая, 2011 - 19:47:39
Post Id


Частый гость


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


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




нужно сделать 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.  
 
 Top
molchun201
Отправлено: 15 Мая, 2011 - 19:51:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




strlen() и $_SERVER["REMOTE_ADDR"] в помощь Подмигивание


-----
Обрамляйте код тегами и читайте
 
 Top
mclord
Отправлено: 15 Мая, 2011 - 19:53:19
Post Id


Частый гость


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


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




покажыте как вписать правильно
 
 Top
molchun201
Отправлено: 15 Мая, 2011 - 20:00:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




ПокаЖЫваю Улыбка

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()


-----
Обрамляйте код тегами и читайте
 
 Top
mclord
Отправлено: 15 Мая, 2011 - 20:09:44
Post Id


Частый гость


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


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




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
 
 Top
molchun201
Отправлено: 15 Мая, 2011 - 20:16:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




упс Улыбка

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'ы


-----
Обрамляйте код тегами и читайте
 
 Top
mclord
Отправлено: 15 Мая, 2011 - 20:21:23
Post Id


Частый гость


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


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




ошибка
 
 Top
molchun201
Отправлено: 15 Мая, 2011 - 20:25:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




Кароче вот аналогия:
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.  


Язычок


-----
Обрамляйте код тегами и читайте
 
 Top
SAD Модератор
Отправлено: 15 Мая, 2011 - 23:00:01
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




проверять лучше на стороне клиента javascript'ом
 
 Top
Саныч
Отправлено: 15 Мая, 2011 - 23:11:35
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


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




SAD пишет:
проверять лучше на стороне клиента javascript'ом

ничего нельзя доверять клиенту, все нужно проверять на стороне сервера... Как вариант 2 проверки: у клиента чиста для "красоты" и на сервере...


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
SAD Модератор
Отправлено: 15 Мая, 2011 - 23:21:55
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




Саныч пишет:
Как вариант 2 проверки: у клиента чиста для "красоты" и на сервере...

так и нужно
 
 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