2014-02-03 2 views
-1

Вау ... все похожие вопросы имеют серьезные понижения. Думаю, я тоже возьму некоторых, но был на этом пару дней и все еще застрял. Так вот он идет ...Использование переменной HTML в PHP в .php из Select

Все следующий код в index.php:

<form action="index.php" method="get"> 
    <select name="month" id="month"> 
    <option value="1">jan</option> 
    <option value="2">feb</option> 
    <option value="3">mar</option> 
    <option value="4">apr</option> 
    <option value="5">may</option> 
    <option value="6">jun</option> 
    <option value="7">jul</option> 
    <option value="8">aug</option> 
    <option value="9">sep</option> 
    <option value="10">oct</option> 
    <option value="11">nov</option> 
    <option value="12">dec</option> 
</select> 
</form> 
<?php 
$month = $_GET["month"]; 
echo "MONTH: $month"; 

$month в РНР NULL (ничего не печатает за $ месяца). Я хочу, чтобы иметь возможность использовать его в <?php ?>, чтобы внести коррективы в него, а затем использовать его снова в своем HTML. Как я могу получить значение из HTML-кода для использования в PHP-коде?

Я хочу взять «значение» и назначить его на «$ в месяц»

+0

Если у вас нет переменной GET в URL-адресе, отображаемая страница (клиентская сторона) ничего не может изменить в php, поскольку она уже выполнена (на стороне сервера) –

+0

Я вижу. Что именно это значит? (Я HTML/PHP newb) – Evorlor

+0

Будет ли это помогать мне? http://stackoverflow.com/questions/14311643/how-to-add-a-get-variable-to-the-current-url – Evorlor

ответ

1

Изменения на странице HTML не может изменить положение вещей в PHP скрипт, как уже выполняется на стороне сервера. Вам нужно настроить какой-либо метод, чтобы добавить правильную переменную в url (поскольку вы используете $ _GET, который является массивом переменных url в строке запроса, пары значений имени после «в URL-адресе»).

HTML

<select name="month" id="mySelect"> 
    <option value="1">jan</option> 
    <option value="2">feb</option> 
    <option value="3">mar</option> 
    <option value="4">apr</option> 
    <option value="5">may</option> 
    <option value="6">jun</option> 
    <option value="7">jul</option> 
    <option value="8">aug</option> 
    <option value="9">sep</option> 
    <option value="10">oct</option> 
    <option value="11">nov</option> 
    <option value="12">dec</option> 
</select> 

JS

window.onload = function(){ 
    var select = document.getElementById("mySelect"); 
    select.onclick = function(){ 
     var selectval = this.value; 
     window.location.href = "/somepage.php?month="+selectval; 
    }; 
}; 

Или с помощью отправки формы, формы с помощью метода GET поместит все значения ввода/выбора/TextArea элементы в URL при представлении

<form action="somepage" method="GET"> 
    <select name="month" id="mySelect"> 
     <option value="1">jan</option> 
     <option value="2">feb</option> 
     <option value="3">mar</option> 
     <option value="4">apr</option> 
     <option value="5">may</option> 
     <option value="6">jun</option> 
     <option value="7">jul</option> 
     <option value="8">aug</option> 
     <option value="9">sep</option> 
     <option value="10">oct</option> 
     <option value="11">nov</option> 
     <option value="12">dec</option> 
    </select> 
    <input type="submit" name="submit" value="Submit"> 
</form> 
+0

Я обновил код в вопросе выше, но он все еще не работает. Любые идеи относительно того, почему нет? – Evorlor

0

PHP - это серверный язык. Вы не можете использовать php на стороне клиента. Если вы хотите что-то сделать на стороне клиента, используйте JavaScript.
Если вы хотите использовать php с вашим html, вам нужно обновить страницу (см. Ответ Patrik Evans) или использовать Ajax.
Если вы планируете использовать ajax, так как это быстро и просто, переместите ваш php в другой файл, например index-form.php, и назовите его методом ajax get.



В основном, когда вы загружаете страницу через браузер, браузер сначала ищет IP-адрес вашего сайта из DNS. Затем ваш сервер будет компилировать всю страницу (игнорируя html, js и другой скрипт на стороне клиента) и компилировать сценарии на стороне сервера, такие как PHP, Perl, Python и т. Д. В зависимости от типа сервера. Затем ваш сервер отправит скомпилированную страницу в ваш браузер, и браузер прочитает ее, скомпилирует клиентские скрипты и отобразит их в вашем окне просмотра.

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