За последние 24 часа нас посетили 16636 программистов и 1626 роботов. Сейчас ищут 1055 программистов ...

как правильно описать select

Тема в разделе "Установка PHP", создана пользователем ludoved, 22 авг 2014.

  1. ludoved

    ludoved Новичок

    С нами с:
    22 авг 2014
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте!
    есть форма отправки, в которой имеется select
    Код HTML5
    <span>Цвет:
    <select>
    <option value="val1">Черный</option>
    <option value="val2">Белый</option>
    </select>
    </span>

    нужно чтоб выбранный цвет приходил в сообщении
    вот сам обработчик
    Код PHP
    Код (PHP):
    1. <?php
    2.  
    3. $to = "a@mail.ru";
    4. $name = htmlspecialchars($_POST['name']);
    5. $vopros = htmlspecialchars($_POST['vopros']);
    6. $email = htmlspecialchars($_POST['email']);
    7.  
    8. $val=array();// я объявил массив
    9. $val[] = htmlspecialchars($_POST['val1'];
    10. $val[] = htmlspecialchars($_POST['val2'];
    11.  
    12.  
    13. $error = '';
    14. function checkEmail($str){return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);}
    15. function checkName($str){return preg_match("/\d+/", $str);} 
    16. if(!$name){$error .= "Пожалуйста, введите ваше имя\r\n";echo $error; exit();}
    17. else if(checkName($name)){$error .= "Введите настоящее имя\r\n";echo $error; exit();}
    18. if(!$email){$error .= 'Пожалуйста, введите ваш e-mail';echo $error; exit();echo $error; exit();}
    19. else if(!checkEmail($email)){$error .= 'Введите корректный e-mail';echo $error; exit();echo $error; exit();}
    20.  
    21.  
    22. if (isset($_POST['name'])) {
    23.     $subject = "Новая заявка";  
    24.  
    25.     if(!$error){
    26.         $header="Content-type:text/plain;charset=utf-8\r\n";
    27.         $header.="From:  \r\n"; 
    28.         $body = "Контактное лицо: {$name}\r\n email: {$email}\r\n Цвет: {$_POST['val[]'}";
    29.         $mail = mail($to, $subject, $body, $header);
    30.         if($mail){
    31.  
    32.         if($_POST['capcha'] != $_SESSION['capcha']) 
    33.         echo "OK";       // проверка заполнены ли поля капчи
    34.         else
    35.            echo "Не верно введена капча!";
    36.         
    37. }
    38.         }}else{echo $error;}
    39.  
    40.  
    41.  
    42.  
    43. ?>
    но $val=array() не срабатывает, в чем я ошибся? как сделать чтоб выбранный цвет записывался в $body
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    выбирайте правильно раздел форума

    оформляйте код в ббкод [ code ]

    да в сотне мест ))) в первую очередь в этом:
    - у тега select должен быть атрибут name, именно по этому имени ты сумеешь получить выбранное значение из $_POST.
    - "{$_POST['val[]'}" — это ппц в квадрате