За последние 24 часа нас посетили 18355 программистов и 1711 роботов. Сейчас ищут 1857 программистов ...

Использование List/menu

Тема в разделе "PHP для новичков", создана пользователем Enn, 26 июл 2009.

  1. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    у меня на сайте используется форма для бронирования номера (http://www.armada-komfort-hotel.ru/On-lineN-1.php), не получается чтобы в заявке (письме на e-mail) приходило какой номер выбран, дата заезда и дата выезда.
     
  2. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    Чтобы получить ответ, вам необходимо предоставить больше информации. Мы не знаем как у вас хранятся "номер, дата заезда и дата выезда", и какой код вы используете при формировании текста сообщения, не знаем даже, какой результат вы получаете.
     
  3. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    Это сама форма


    <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]
     
  4. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    Обновлено: А что именно вы получаете в сообщении? Что не работает? После настройки почтового сервера и запуска вашего скрипта получил на мыло следующий текст:
    Код (Text):
    1. Имя отправителя: 1234 Контактный телефон: 9878654 Контактный email: some@mail.com Тип номера: Двуместный Дата заезда: 10 Месяц заезда: февраля Дата выезда: 17 Месяц выезда: апреля
    Как видите здесь есть и тип номера и даты.
    Изменения, которые делал: убрал mailfrom и изменил адрес отправителя на свой.
     
  5. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    У меня просто приходит Имя отправителя: павел Контактный телефон: 36725 Контактный email: kod2113@mail.ru Тип номера: Дата заезда Месяц заезда Дата выезда: Месяц выезда:
     
  6. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    Нашел. Возникшая проблемма кроется в том, что вы используете глобальные переменные menu и tip, не вытягивая их из массива $_POST. Вам необходимо дописать нечто наподобие:
    PHP:
    1. if(isset($_POST['menu1'], $_POST['menu2'], $_POST['menu3'], $_POST['menu4'], $_POST['tip'])) {
    2.     $menu1 = trim($_POST['menu1']);
    3.     $menu2 = trim($_POST['menu2']);
    4.     $menu3 = trim($_POST['menu3']);
    5.     $menu4 = trim($_POST['menu4']);
    6.     $tip = trim($_POST['tip']);
    7. }
    ПыСы. У меня был иначе настроен веб-сервер, поэтому получался "правильный" результат.
    Обновлено:
    ПыПыСы: Еще рекомендую не обрабатывать запрос, если хотя-бы одно поле остается пустым,
    а выпадающие списки со мнооожеством элементов (чисел от 1 до 31) заменить премерно следующим:
    PHP:
    1. <select name="menu3" onChange="MM_jumpMenu('parent',this,0)">
    2. <?php
    3. for ($i = 1; $i <= 31; $i++) {
    4.     echo "<option value='" . $i . "'>" . $i . "</option>";
    5. }
    6. ?>
    7. </select>
     
  7. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    Спасибо вам огромнейшее! есть еще люди добрые, которые подскажут чайнику!
    Я вот сейчас пробую сделать, позже напишу результат.
    А вы не знаете, как мне сделать, чтобы потом после отправки, после сообщения: "Сообщение было успешно отправлено" автоматически через пару сек выбрасывало на страницу бронирования.
     
  8. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    PHP:
    1.    echo "<html><head> \
    2.   <meta http-equiv='Refresh' content='time; url=page.php'> \
    3.   </head></html>";
    page.php - страница, на которую будет производиться перенаправлениe. Можно с использованием параметров (например page.php?age=40)
    time - кол-во секунд до перенаправления.
     
  9. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    Это мне нужно сформировать новую страничку, с параметрами, на страницу, которую хочу перевести. а как новая страница с этим кодом php будет связана с сообщением: сообщение отправлено.
    Не смейтесь надо мной пожалуйста, я с php туго.
    Или мне нужно этот php код вставить в bron.php
     
  10. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    а-а-а! всё получилось, как вы сказали, с отправкой даты и месяца и типа номера!!! Вы просто молодец!!! Огромное вам спасибо!!! Даже не знаю, как-то неудобное, вы время свое на меня потратиили!!!
    Спасибочки вам!
    осталось попробовать только с перенаправлением
     
  11. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    Пожалуйста :D
    Тем, кто учит язык крайне полезно отвечать на различные вопросы на форуме. Этим приобретается не только имунитет от таких же ошибок, но и практические знания. А я на сегодняшний день больше теоретик. Поэтому вам я тоже благодарен.
     
  12. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    Туплю




    Это мне нужно сформировать новую страничку, с параметрами, на страницу, которую хочу перевести. а как новая страница с этим кодом php будет связана с сообщением: сообщение отправлено.
    Не смейтесь надо мной пожалуйста, я с php туго.
    Или мне нужно этот php код вставить в bron.php
     
  13. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    Куда вы его вставите, там оно выполняться и будет. Если сначала вы выводите сообщение: "письмо отправлено", а после этого вставляете предложеный код, то сначала отобразится "письмо отправлено", а спустя time секунд, произойдет перенаправление на страницу page.php.

    Например, в вашем случае:
    PHP:
    1. mail($to,$subject,$mes, "Content-type:text/html; Charset=windows-1251\r\n");
    2. echo 'Спасибо! Ваше письмо отправлено.';
    3.  
    4. echo "<html><head><meta http-equiv='Refresh' content='2; url=bron.php'></head></html>";
    5. }
    6.  
    7. ?>
     
  14. Enn

    Enn Активный пользователь

    С нами с:
    25 июл 2009
    Сообщения:
    9
    Симпатии:
    0
    Да! вы правы! у меня все получилось!
    Огромное вам спасибо:)
    Вы просто молодец! искренне!