2014-07-14 3 views
-2

У меня есть раскрывающийся список, как показано ниже. Если пользователь выбирает определенный элемент из списка, я хотел бы его захватить в своем php-коде и распечатать его. Следующий код не может зафиксировать это значение и всегда распечатывать «Не работает». Я новичок в html/php, и любая помощь будет оценена по достоинству.Как получить значение из выпадающего меню в HTML до php

<select id="selectype" name="cards"> 
<option value="WorkOrder">Work Order</option> 
<option value="FirstName">First Name</option> 
</select> 

<?php 
if (cards.value == "WorkOrder") 
    echo "WorkOrder selected"; 
else if (card.value == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+0

Пожалуйста, поймите основы php, прежде чем задавать вопросы здесь. * вы не указали знак $ для переменных * выбирая somthing cant trigger php code, если вы не отправляете форму и не используете значения $ _GET и $ _POST – gries

+0

Возможно, вы захотите начать с вступительного руководства по PHP. 'cards' и' card' являются разными идентификаторами, они не являются переменными PHP (переменные PHP начинаются с '$'), и вы нигде не определяете их или не инициализируете их значениями размещенных форм из чего-то вроде '$ _POST' , Честно говоря, он даже не должен печатать '' Не работает '', потому что написанный вами код даже не обрабатывается. – David

+0

Вы можете буквально искать в Google свой заголовок, и у вас будет ответ. Вместо этого вы потратили впустую потенциально 5 минут своей жизни, ожидая чего-то, что вы могли бы сделать за считанные секунды: D google-fu, сэр. Google-фу. –

ответ

1

Попробуйте обертывание ваш HTML в самостоятельной подаче формы ..

<form action="" method="POST"> 

    <select id="selectype" name="cards"> 
     <option value="WorkOrder">Work Order</option> 
     <option value="FirstName">First Name</option> 
    </select> 

    <input type="submit" /> 

</form> 

<?php 

    $cards = $_POST['cards']; 

    if ($cards == "WorkOrder") 
     echo "WorkOrder selected"; 

    else if ($cards == "FirstName") 
     echo "FirstName selected"; 

    else 
     echo "Doesn't work"; 
?> 
+0

У вас есть 2 синтаксических ошибки. –

+0

Исправлено, спасибо. – OllyBarca

+1

Спасибо, что показал мне пример. Теперь я понимаю концепцию POST и как получить доступ к ней через php. –

0

Вы должны использовать свое имя элемента в своем PHP-коде. Сначала вы должны создать форму, которая отправит вашу переменную в ваш PHP-код. Или, если вы не хотите использовать форму, вы можете выполнить это через jQuery, но это сложнее.

У вас есть выпадающее меню, которое называется cards, и оно может содержать только 1 значение, поэтому мне был изменен код ниже. Теперь вы получите значение от элемента с именем cards, а затем с вашим IF (коммутатор будет лучше, может быть) вы можете определить, что установлено как значение.

<form action="" method="POST"> 
    <select id="selectype" name="cards"> 
    <option value="WorkOrder">Work Order</option> 
    <option value="FirstName">First Name</option> 
    </select> 
</form> 

<?php 
$cards = $_POST['cards']; 
if ($cards == "WorkOrder") 
    echo "WorkOrder selected"; 
else if ($cards == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+3

Вы даже PHP? –

+0

да, а что с моим кодом? – pes502

+0

pre-delete и pre-edit это не сработало бы. – rlemon

-1

Попробуйте это:

<?php 
if ($_REQUEST['cards'] == "WorkOrder") 
    echo "WorkOrder selected"; 
else if ($_REQUEST['cards'] == "FirstName") 
    echo "FirstName selected"; 
else 
    echo "Doesn't work"; 
?> 
+1

Если метод формы четко определен, используйте его так. '$ _REQUEST' лучше использовать, когда вы не знаете тип запроса, который будет поступать. –

0

Вы не можете иметь значение в HTML-поля в РНР этой путь. Когда вы видите, что сайт появился, php давно ушел. php выполняется на сервере, и после выполнения эта страница просматривается и «помещается» в браузер.

Итак, если вы хотите иметь значение поля, вам нужно «положить» это значение «назад» на сервер. Вам необходимо хотя бы это:

<form action="yourphpcode.php" method="post"> 
    <select id="selectype" name="cards"> 
    <option value="WorkOrder">Work Order</option> 
    <option value="FirstName">First Name</option> 
    </select> 
</form> 

И кнопка отправки также поможет.

В вашем «yourphpcode.php» вы можете получить доступ к значениям, как это:

<?php 
    $cards = $_POST['cards'] 
?> 

... и вы должны действительно прочитать начинающий учебник. ;-)

Смежные вопросы