2015-10-15 3 views
0

Im довольно застрял в этом коде, я действительно не могу понять, почему он не должен работать, я не знаю, вмешивается ли какой-нибудь javascript-код, который работает заранее?php - выберите значение параметра, не переданное в сообщение

только показывает соответствующую часть кода

Первый раздел со страницей JavaScript обновлений при выборе другого раскрывающегося списка, и помещается перед кодом, который IM борется с: `

<script type="text/JavaScript"> 

function changeDropDown(){ 
    var elLocation = document.getElementById('form_location_id'); 
    var location = elLocation.options[elLocation.selectedIndex].value; 

    document.getElementById("form1").action = "choose.php?id=" + location; 
    document.getElementById("form1").submit(); 
    } 

</script> 

<form id="form1" name="form1" method="post"> 
<select size="1" name="form_location_id" id="form_location_id" onchange='changeDropDown(this);'> 

<?php 
if ($chosen_id == "1") { ?> 
<option value = "1" selected><?php echo "dropdown text" ?></option> 
<? } else { ?> 
<option value = "1"><?php echo "dropdown text" ?></option> 
<?php } ?> 

</select> 
</form> 

<form method="post" action="update.php"> 
<select size="1" id="choice" name="value"> 

<?php 
while($row = mysqli_fetch_array($query)) { 

$id = $row['id']; 
$number = $row['number']; 
>?  
<option value = "<?php echo ($id) ?>"><?php echo "ID=" . ($id) . " - #" . ($number) . ""?></option> 

<?php 
} 
mysqli_close($db_conn); 

?> 
</select> 

<input name="submit" type="submit" value="Submit"> 
</form> 

update.php:

<?php 
if (isset($_POST['submit'])) { 
$chosen_id = $_POST['id']; 
} 
?> 
` 

У меня есть только отправил код обработки опции выбора и почты ...

Почему переменная $ selected_id всегда 0? это время цикла работы, и заполнить это переменная, так как это испытывается эхо команды внутри опции линии

Любая помощь очень ценится ...

+0

Что вы видите для '$ _POST ['submit']'? –

+0

Эта переменная передается, довольно странно ... значение «Отправить», как и должно было – BulletEyeDK

+1

ваш закрывающий тег php кажется wront at '>? ' –

ответ

2

$_POST['id'] и <select size="1" id="choice" name="value">

Использование $_POST['value']

+0

nope, до сих пор не было проанализировано значение, я делал это много раз раньше, но не вместе с этим javasript на той же странице, я действительно не знаю, почему он не работает ... – BulletEyeDK

+0

@BulletEyeDK, можете ли вы объяснить, что вы хотите? Я вижу GET-параметр «id» и POST-параметры «value» и «form_location_id». Какой из них вам нужен? –

+0

javascript обновляет страницу при изменении верхнего раскрывающегося меню, это идентификатор, используемый для получения ... он загружает обновленную страницу с этим идентификатором ... и изменяет содержимое в раскрывающемся списке внизу, где у меня есть код, упомянутый ... проблема заключается в анализе нижней переменной раскрывающегося списка на другую страницу с отправкой и отправкой – BulletEyeDK

0

Вы пытаетесь напечатать неправильную клавишу , если вы пытаетесь получить значение form_location_id

$chosen_id = $_POST['form_location_id']; 

И если вы пытаетесь получить значение choice

$chosen_id = $_POST['value']; 

Вот почему, когда вы размещаете формы PHP это использовать HTML имя атрибута в качестве ключа для присвоения значения в массиве $ _POST

+0

form_location_id - это фактически значение переменной, используемое в javascript, поэтому это не переменная im, пытающаяся получить ... – BulletEyeDK

+0

Вот почему я тоже выбрал выбор, так как есть два тега select. :) –

+0

ahh of the course :) - но это все еще не получает переменную ... Я думаю, это должен быть тот факт, что у меня есть 2

на странице, один из которых работает с javascript, и один обрабатывает submit, формы называются разными, а также переменными, поэтому это не должно создавать никаких проблем, но на самом деле это не может быть любая другая вещь, я полагаю ... спасибо за помощь до сих пор. – BulletEyeDK

0

I 'd change Update.php to

<?php 
if (isset($_POST['value'])) { 
$chosen_id = $_POST['value']; 
} 
?> 
+0

все еще пустая переменная – BulletEyeDK

+0

Хорошо, интересно, используете ли вы опцию перед отправкой формы. Может ли быть, что значение элемента select пуст, как '' ''? –

+0

Как уже упоминалось в другом комментарии, закрытие тега php также может быть проблемой. Посмотрите во второй форме. –

0

Чтобы получить требуемое значение, вам необходимо использовать form_location_id. Вы используете неправильный ключ для доступа к данным. Вам нужно использовать имя ввода. В этом случае вход является select, а его имя - form_location_id. Итак, вам нужно это сделать.

$value = $_POST['form_location_id']; 

Попробуйте и дайте мне знать, если это сработает для вас.

+0

nope, не работает, этот «form_location_id» находится в другом

перед тем, как один из них пытается получить данные, спасибо за помощь в любом случае;) – BulletEyeDK

+0

O i see now. другой, тогда вам нужно использовать '$ _POST ['значение']', я верю. И даже если это не работает, попробуйте проверить HTML в браузере, который был сгенерирован в php, вы можете получить некоторые сведения о что может быть неправильным. –

+0

будет выглядеть в это прямо сейчас, отличная идея;) – BulletEyeDK

0

Спасибо за все размещения идея в - На самом деле я получил это работает, код был на самом деле работает, только ошибка была неуместна тег, который был помещен внутри тега, при размещении вне этого тега он работает;)