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]   

> Описание: форма обратной связи с передачей инфы о странице отправки
Osanka
Отправлено: 20 Октября, 2010 - 11:42:20
Post Id


Новичок


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header("Content-Type: text/html; charset=utf-8");
  3. $name=$_POST["name"];
  4. $email=$_POST["email"];
  5. $mess=$_POST["mess"];
  6. if (isset ($name))
  7. {
  8. $name = substr($name,0,10);
  9. if (empty($name))
  10. {
  11. echo "<center><b>имя <p>";
  12. }
  13. }
  14. else
  15. {
  16. $name = "не указано";
  17. }
  18. if (isset ($email))
  19. {
  20. $email = substr($email,0,25);
  21. if (empty($email))
  22. {
  23. echo "<center><b>E-mail <p>";
  24. }
  25. }
  26.  
  27. else
  28. {
  29. $email = "не указано";
  30. }
  31. if (isset ($mess))
  32. {
  33. $mess = substr($mess,0,6000);
  34. if (empty($mess))
  35. {
  36. echo "<center>текст сообщения<p>";
  37.  
  38. }
  39. }
  40. else
  41. {
  42. $mess = "не указано";
  43. }
  44. $i = "не указано";
  45. if ($name == $i AND $email == $i AND $mess == $i)
  46. {
  47. echo "Ошибка";
  48. }
  49. $to = "****t";
  50. $subject = "Сообщение ";
  51. $message = "$remote_url <b>Имя:</b>$name <p> <b>Е-маил:</b>$email <p><b>Сообщение:</b>$mess <p> <b>IP-адрес:</b>$REMOTE_ADDR";
  52. mail ($to,$subject,$message) or print "Не возможно отправить";
  53.  
  54. echo ' <script type="text/javascript"> location.replace("**.html"); </script>';
  55.  
  56.  
  57. ?>


Помогите добавить в форму адрес страницы с которой отправляется сообщение
(на сайте много страниц с формой отправки, необходимо чтобы на мыло приходила информация о странице отправки -толи урл страницы с которой отправлено, толь тийтл)
Очень надеюсь на помощь

(Отредактировано автором: 20 Октября, 2010 - 16:51:16)

 
 Top
demot
Отправлено: 20 Октября, 2010 - 11:57:28
Post Id


Частый гость


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


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




В email сообщение нужно добавить $_SERVER['HTTP_REFERER']
Т.е. ваш код можно привести к такому виду:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $message = "$remote_url <b>Имя:</b>$name <p> <b>Е-маил:</b>$email <p><b>Сообщение:</b>$mess <p> <b>IP-адрес:</b>$REMOTE_ADDR <p><b>Источник:</b> $_SERVER['HTTP_REFERER']";
  2. mail ($to,$subject,$message) or print "Не возможно отправить";
 
 Top
eai
Отправлено: 20 Октября, 2010 - 12:02:36
Post Id



Частый посетитель


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


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




Не в тему, но умолчать не смог.
Так код писать нельзя. Все в одну колонку, можно и в строчу таким макаром писать!
Модераторы накажите меня если я не прав!
 
 Top
Osanka
Отправлено: 20 Октября, 2010 - 16:32:46
Post Id


Новичок


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


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




не работает, все ввел как сказанно, не отправляет..
 
 Top
OrmaJever Модератор
Отправлено: 20 Октября, 2010 - 16:45:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Код нужно писать в теге [*PHP][*/PHP] без * !
Ты не пробовал читать http://php.su/lessons/?lesson_13 ?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Osanka
Отправлено: 20 Октября, 2010 - 16:56:51
Post Id


Новичок


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


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




Исправил, извиняюсь

с этим нюансом разобрался для решения проблемы делал так
PHP:
скопировать код в буфер обмена
  1.    1.
  2.       <?PHP
  3.    2.
  4.       header("Content-Type: text/html; charset=utf-8");
  5.    3.
  6.       $name=$_POST["name"];
  7.    4.
  8.       $email=$_POST["email"];
  9. [b]$url=$_SERVER['HTTP_REFERER'];[/b]
  10.    5.
  11.       $mess=$_POST["mess"];
  12.    6.
  13.       if (isset ($name))
  14.    7.
  15.       {
  16.    8.
  17.       $name = substr($name,0,10);
  18.    9.
  19.       if (empty($name))
  20.   10.
  21.       {
  22.   11.
  23.       echo "<center><b>имя <p>";
  24.   12.
  25.       exit;
  26.   13.
  27.       }
  28.   14.
  29.       }
  30.   15.
  31.       else
  32.   16.
  33.       {
  34.   17.
  35.       $name = "не указано";
  36.   18.
  37.       }
  38.   19.
  39.       if (isset ($email))
  40.   20.
  41.       {
  42.   21.
  43.       $email = substr($email,0,25);
  44.   22.
  45.       if (empty($email))
  46.   23.
  47.       {
  48.   24.
  49.       echo "<center><b>E-mail <p>";
  50.   25.
  51.       exit;
  52.   26.
  53.       }
  54.   27.
  55.       }
  56.   28.
  57.        
  58.   29.
  59.       else
  60.   30.
  61.       {
  62.   31.
  63.       $email = "не указано";
  64.   32.
  65.       }
  66.   33.
  67.       if (isset ($mess))
  68.   34.
  69.       {
  70.   35.
  71.       $mess = substr($mess,0,6000);
  72.   36.
  73.       if (empty($mess))
  74.   37.
  75.       {
  76.   38.
  77.       echo "<center>текст сообщения<p>";
  78.   39.
  79.        
  80.   40.
  81.       exit;
  82.   41.
  83.       }
  84.   42.
  85.       }
  86.   43.
  87.       else
  88.   44.
  89.       {
  90.   45.
  91.       $mess = "не указано";
  92.   46.
  93.       }
  94.   47.
  95.       $i = "не указано";
  96.   48.
  97.       if ($name == $i AND $email == $i AND $mess == $i)
  98.   49.
  99.       {
  100.   50.
  101.       echo "Ошибка";
  102.   51.
  103.       exit;
  104.   52.
  105.       }
  106.   53.
  107.       $to = "****t";
  108.   54.
  109.       $subject = "Сообщение ";
  110.   55.
  111.       $message = "$remote_url <b>Имя:</b>$name <p> <b>Е-маил:</b>$email <p><b>Сообщение:</b>$mess <p> <b>IP-адрес:</b>$REMOTE_ADDR" [b]$url[/b];
  112.   56.
  113.       mail ($to,$subject,$message) or print "Не возможно отправить";
  114.   57.
  115.        
  116.   58.
  117.       echo ' <script type="text/javascript"> location.replace("**.html"); </script>';
  118.   59.
  119.        
  120.   60.
  121.        
  122.   61.
  123.       exit;
  124.   62.
  125.       ?>

(Отредактировано автором: 20 Октября, 2010 - 17:06:12)

 
 Top
garvey
Отправлено: 20 Октября, 2010 - 17:00:36
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


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




PHP:
скопировать код в буфер обмена
  1. $message =  '<b>Имя:</b>' . $name . '<p> <b>Е-маил:</b>' . $email . '<p><b>Сообщение:</b>' . $mess . '<p> <b>IP-адрес:</b>' . $REMOTE_ADDR . '<b>Источник:</b>' . $_SERVER['HTTP_REFERER'];

Только что за переменная такая, $REMOTE_ADDR?
 
 Top
Osanka
Отправлено: 20 Октября, 2010 - 17:14:32
Post Id


Новичок


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


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




garvey Спасибо понял ошибки!!!

Скажите пожалуйста, еще один вопрос, как что бы вместо сообщений (на новой странице) о незаполненном поле выскакивало окно Алерт
 
 Top
OrmaJever Модератор
Отправлено: 20 Октября, 2010 - 20:53:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




javascript, а ещё лутше jquery.
Код будет выглядеть както так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function go(){
  3.      if($('#text').length == 0){
  4.           alert('Заполни поле!');
  5.      } else {
  6.           ( ... То что будет делатся дальше ... );
  7.      }
  8. }

Текстовому полю нужно зделать id="text" и на кнопку повесить onclick="go()"


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
JustUserR
Отправлено: 21 Октября, 2010 - 07:48:53
Post Id



Активный участник


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


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




OrmaJever пишет:
Javascript, а ещё лутше jquery.
Использование специализированных framework-ов для реализации простых задач правильности введения пользовательской формы не является оправданным - поскольку для этой цели достаточно обращения к элементу посредством DOM-модели и дальнейшего использования строковых функций или регулярных выражений для проверки


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
eai
Отправлено: 21 Октября, 2010 - 10:43:04
Post Id



Частый посетитель


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


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




JustUserR пишет:
Использование специализированных framework-ов для реализации простых задач правильности введения пользовательской формы не является оправданным

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB