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 :: Отправка e-mail

 PHP.SU

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


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

> Описание: перезагрузка страницы
toturvator
Отправлено: 29 Июля, 2007 - 17:50:32
Post Id


Гость


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


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




Есть вот такой шаблончик отправки сообщения с сайта:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP
  4.  
  5. $adresat = "mail@host.ru";
  6. $status = "Админ";
  7. $msg = "Спасибо, Ваше сообщение было отправлено и мы обязательно вам ответим!<br><p align=right>$status</p>";
  8.  
  9. // если вы не знаете php/html не изменяйте код ниже:
  10. $you = "$status. E-mail:&nbsp;$adresat";
  11. if ($submit) {
  12.    if(eregi("^[a-zA-Z0-9._-]+@[a-z0-9._-]+.[a-z]{2,4}$",$email))
  13.    {
  14.    if(empty($name)) echo "Введите ваше имя";
  15.    else
  16.    {
  17.    mail("$adresat", "Сообщение с сайта", "От: $namenАдрес: $emailnСообщение:nn$message");
  18.    echo "<b>$msg<b>n";
  19.    }
  20.    } else {
  21.    echo "E-mail неправильно введен или содержит недопустимые символы. Пожалуйста вернитесь и заполните все поля правильно";
  22.    }
  23. }
  24. else {
  25. ?>
  26. <form action="<? echo $PHP_SELF?>" method=POST>
  27. <table width=100%>
  28. <tr>
  29. <td align="left">Получатель:
  30. <td align="left"><b><? echo "$you";?></b></td>
  31. </tr>
  32. <tr>
  33.   <td align="left">Ваше имя :</td>
  34.   <td align="left"><input type=text name=name size=25></td></tr>
  35.  
  36. <tr>
  37.   <td align="left">Ваш e-mail: </td>
  38.   <td align="left"><input type=text name=email size=25></td></tr>
  39. <tr>
  40.   <td align="left">Ваше сообщение:</td>
  41.   <td align="left"><textarea cols=40 rows=3 name=message></textarea></td>
  42.   </tr>
  43. </table>
  44. <input name="submit" type=submit value="Отправить">
  45. </form>
  46. <?PHP
  47. } // end "else" and end of this script)
  48. ?>
  49.  
  50.  


Все хорошо, только можно ли сделать так что бы страница если перезагружалась бы, то возвращалась назад без потери введенных данных в форму и с предупреждением об ошибке в ней же?


-----
заработок на своем сайте
данные из 1С на ваш сайт
 
 Top
evgenijj
Отправлено: 29 Июля, 2007 - 20:10:40
Post Id



Участник


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


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




 
 Top
Delvin
Отправлено: 19 Сентября, 2007 - 23:42:56
Post Id


Новичок


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


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




аякс поможет.
 
 Top
valenok Модератор
Отправлено: 20 Сентября, 2007 - 00:01:59
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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




поможет правильное определение форума для сообщения.
В провпросы по php это.

Ps> а в опрере и ФФ это уже реализванно на уровне брвузера


-----
Truly yours, Sasha.
 
My status
 Top
EuGen Администратор
Отправлено: 20 Сентября, 2007 - 09:45:41
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




А я думаю, атрибут value тут поможет((*
То есть пишем что то вроде:
PHP:
скопировать код в буфер обмена
  1.  
  2. $var0=$_POST[name];
  3. ...
  4. <input type=text name=name value=$var0>
  5.  

Тогда если оно установлено, то и заменится ((* ..


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
BAPBAP
Отправлено: 15 Марта, 2009 - 15:35:38
Post Id


Новичок


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


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




Как можно вписать дополнительноь проверку еще и телефона.
PHP:
скопировать код в буфер обмена
  1.    if(eregi("^[0-9\+]{5,20}\$",$tel))
  2.  


Если пишу так
PHP:
скопировать код в буфер обмена
  1.  
  2. if(eregi("^[a-zA-Z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$email))
  3. if(eregi("^[0-9\+]{5,20}\$",$tel))
  4.  

скрипт перестаёт работать!
(Добавление)
Алень я северный. Проблемы была решена. Вписал обе проверки в одну строчку.
PHP:
скопировать код в буфер обмена
  1. if((eregi("^[a-zA-Z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$email)) && (eregi("^[0-9\+]{5,20}\$",$tel)))
  2.  

(Добавление)
Подскажите, а есть альтернатива функции eregi
 
 Top
EuGen Администратор
Отправлено: 16 Марта, 2009 - 10:17:55
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Есть.
preg_*


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 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