у меня на сайте используется форма для бронирования номера (http://www.armada-komfort-hotel.ru/On-lineN-1.php), не получается чтобы в заявке (письме на e-mail) приходило какой номер выбран, дата заезда и дата выезда.
Чтобы получить ответ, вам необходимо предоставить больше информации. Мы не знаем как у вас хранятся "номер, дата заезда и дата выезда", и какой код вы используете при формировании текста сообщения, не знаем даже, какой результат вы получаете.
Это сама форма <form method="post" action="bron1-2.php"> <p><span class="text">Контактное лицо*:</span></p> <p> <input name="name" type=text size=50 maxlength="50"> </p> <p class="text">E-mail*:</p> <p> <INPUT NAME="email" TYPE=text SIZE=40 maxlength="50"> </p> <p class="text">Телефон*:</p> <p><input name="tel" type=text size=30 maxlength="30"></p> <p><span class="text">Тип номера</span> <select name="tip" onChange="MM_jumpMenu('parent',this,0)"> <option value='Одноместный'>Одноместный номер Стандарт, 1 500 руб./сутки</option> <option value='Двуместный'>Одноместный номер Люкс, 2 000 руб./сутки</option> </select> </p> <p><span class="text">Дата заезда</span> <select name="menu1" onChange="MM_jumpMenu('parent',this,0)"> <option value='01'>01</option> <option value='02'>02</option> <option value='03'>03</option> <option value='04'>04</option> <option value='05'>05</option> <option value='06'>06</option> <option value='07'>07</option> <option value='08'>08</option> <option value='09'>09</option> <option value='10'>10</option> <option value='11'>11</option> <option value='12'>12</option> <option value='13'>13</option> <option value='14'>14</option> <option value='15'>15</option> <option value='16'>16</option> <option value='17'>17</option> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> <option value='25'>25</option> <option value='26'>26</option> <option value='27'>27</option> <option value='28'>28</option> <option value='29'>29</option> <option value='30'>30</option> <option value='31'>31</option> </select> <select name="menu2" onChange="MM_jumpMenu('parent',this,0)"> <option value='января'>января</option> <option value='февраля'>февраля</option> <option value='марта'>марта</option> <option value='апреля'>апреля</option> <option value='марта'>марта</option> <option value='июня'>июня</option> <option value='июля'>июля</option> <option value='августа'>августа</option> <option value='сентября'>сентября</option> <option value='октября'>октября</option> <option value='ноября'>ноября</option> <option value='декабря'>декабря</option> </select></p> <p><span class="text">Дата выезда</span> <select name="menu3" onChange="MM_jumpMenu('parent',this,0)"> <option value='01'>01</option> <option value='02'>02</option> <option value='03'>03</option> <option value='04'>04</option> <option value='05'>05</option> <option value='06'>06</option> <option value='07'>07</option> <option value='08'>08</option> <option value='09'>09</option> <option value='10'>10</option> <option value='11'>11</option> <option value='12'>12</option> <option value='13'>13</option> <option value='14'>14</option> <option value='15'>15</option> <option value='16'>16</option> <option value='17'>17</option> <option value='18'>18</option> <option value='19'>19</option> <option value='20'>20</option> <option value='21'>21</option> <option value='22'>22</option> <option value='23'>23</option> <option value='24'>24</option> <option value='25'>25</option> <option value='26'>26</option> <option value='27'>27</option> <option value='28'>28</option> <option value='29'>29</option> <option value='30'>30</option> <option value='31'>31</option> </select> <select name="menu4" onChange="MM_jumpMenu('parent',this,0)"> <option value='января'>января</option> <option value='февраля'>февраля</option> <option value='марта'>марта</option> <option value='апреля'>апреля</option> <option value='марта'>марта</option> <option value='июня'>июня</option> <option value='июля'>июля</option> <option value='августа'>августа</option> <option value='сентября'>сентября</option> <option value='октября'>октября</option> <option value='ноября'>ноября</option> <option value='декабря'>декабря</option> </select></p> <label> <input name="submit" type="submit" id="submit" value="Забронировать"> </label> <label> <input type="reset" value="Очистить"> </label> </p> </form> <?php $info = array ( 'name' => "ОШИБКА! Не введено имя.", 'email' => "ОШИБКА! Неверно введен email.", 'tel' => "ОШИБКА! Не введен телефон.", ); if(isset($_POST['submit'])) { $submit = $_POST['submit']; } if(isset($_POST['mes'])) { $mes = htmlspecialchars($_POST['mes']); } if(isset($_POST['tel'])) { $tel = htmlspecialchars(trim($_POST['tel'])); } if(isset($_POST['email'])) { $email = htmlspecialchars(trim($_POST['email'])); } if(isset($_POST['name'])) { $name = htmlspecialchars(stripslashes(trim($_POST['name']))); } if(empty($name)) { die($info{"name"}); } if(empty($tel)) { die($info{"tel"}); } if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) { die($info{"email"}); } // if(!preg_match("/[0-9]/", $tel])) { die($info{"tel"}); } if(isset($submit)) { $to = }\r\n"); echo 'Спасибо! Ваше письмо отправлено.'; } ?>[/code]
Обновлено: А что именно вы получаете в сообщении? Что не работает? После настройки почтового сервера и запуска вашего скрипта получил на мыло следующий текст: Код (Text): Имя отправителя: 1234 Контактный телефон: 9878654 Контактный email: some@mail.com Тип номера: Двуместный Дата заезда: 10 Месяц заезда: февраля Дата выезда: 17 Месяц выезда: апреля Как видите здесь есть и тип номера и даты. Изменения, которые делал: убрал mailfrom и изменил адрес отправителя на свой.
У меня просто приходит Имя отправителя: павел Контактный телефон: 36725 Контактный email: kod2113@mail.ru Тип номера: Дата заезда Месяц заезда Дата выезда: Месяц выезда:
Нашел. Возникшая проблемма кроется в том, что вы используете глобальные переменные menu и tip, не вытягивая их из массива $_POST. Вам необходимо дописать нечто наподобие: PHP: if(isset($_POST['menu1'], $_POST['menu2'], $_POST['menu3'], $_POST['menu4'], $_POST['tip'])) { $menu1 = trim($_POST['menu1']); $menu2 = trim($_POST['menu2']); $menu3 = trim($_POST['menu3']); $menu4 = trim($_POST['menu4']); $tip = trim($_POST['tip']); } ПыСы. У меня был иначе настроен веб-сервер, поэтому получался "правильный" результат. Обновлено: ПыПыСы: Еще рекомендую не обрабатывать запрос, если хотя-бы одно поле остается пустым, а выпадающие списки со мнооожеством элементов (чисел от 1 до 31) заменить премерно следующим: PHP: <select name="menu3" onChange="MM_jumpMenu('parent',this,0)"> <?php for ($i = 1; $i <= 31; $i++) { echo "<option value='" . $i . "'>" . $i . "</option>"; } ?> </select>
Спасибо вам огромнейшее! есть еще люди добрые, которые подскажут чайнику! Я вот сейчас пробую сделать, позже напишу результат. А вы не знаете, как мне сделать, чтобы потом после отправки, после сообщения: "Сообщение было успешно отправлено" автоматически через пару сек выбрасывало на страницу бронирования.
PHP: echo "<html><head> \ <meta http-equiv='Refresh' content='time; url=page.php'> \ </head></html>"; page.php - страница, на которую будет производиться перенаправлениe. Можно с использованием параметров (например page.php?age=40) time - кол-во секунд до перенаправления.
Это мне нужно сформировать новую страничку, с параметрами, на страницу, которую хочу перевести. а как новая страница с этим кодом php будет связана с сообщением: сообщение отправлено. Не смейтесь надо мной пожалуйста, я с php туго. Или мне нужно этот php код вставить в bron.php
а-а-а! всё получилось, как вы сказали, с отправкой даты и месяца и типа номера!!! Вы просто молодец!!! Огромное вам спасибо!!! Даже не знаю, как-то неудобное, вы время свое на меня потратиили!!! Спасибочки вам! осталось попробовать только с перенаправлением
Пожалуйста Тем, кто учит язык крайне полезно отвечать на различные вопросы на форуме. Этим приобретается не только имунитет от таких же ошибок, но и практические знания. А я на сегодняшний день больше теоретик. Поэтому вам я тоже благодарен.
Туплю Это мне нужно сформировать новую страничку, с параметрами, на страницу, которую хочу перевести. а как новая страница с этим кодом php будет связана с сообщением: сообщение отправлено. Не смейтесь надо мной пожалуйста, я с php туго. Или мне нужно этот php код вставить в bron.php
Куда вы его вставите, там оно выполняться и будет. Если сначала вы выводите сообщение: "письмо отправлено", а после этого вставляете предложеный код, то сначала отобразится "письмо отправлено", а спустя time секунд, произойдет перенаправление на страницу page.php. Например, в вашем случае: PHP: mail($to,$subject,$mes, "Content-type:text/html; Charset=windows-1251\r\n"); echo 'Спасибо! Ваше письмо отправлено.'; echo "<html><head><meta http-equiv='Refresh' content='2; url=bron.php'></head></html>"; } ?>