Как получить значение из поля со списком PHP?
Я использую PHP 5 для создания страницы запроса для базы данных MySQL с 2 таблицами "студенты" и "преподаватели". Я создал поле со списком, которое позволяет пользователям просматривать и выбирать 2 таблицы из поля со списком с помощью кнопки "отправить" после выбора в поле со списком.
Однако проблема со сценарием заключается в том, что я хочу проверить, работает ли кнопка "отправить", которую я создал"echo.php "чтобы отобразить значение поля со списком и кнопки "Отправить". В целом идея состоит в том, чтобы сделать запрос как эти шаги:
1) Пользователь выбирает значение из поля со списком "учитель" или "ученик". 2) Пользователь нажимает кнопку "Отправить". 3) После нажатия кнопки "Отправить" пользователь перенаправляется на "echo.php " 4)"echo.php "должен выводить/повторять либо "учитель", либо "ученик".
Коды для сценария:
<?php
include "db_connect.php";
{
?>
<td valign=top><strong>Name:</strong></td>
<td>
<?php
echo "<form name = \"queryEquipTypeForm\" method = \"post\" action
=\"select_table.php\">";
echo '<select name=\"table\">';
echo "<option size =30 selected>Select</option>";
$result = mysql_query("show tables");
if(!$result) trigger_error("Query Failed: ". mysql_error($db), E_USER_ERROR);
if(mysql_num_rows($result))
{
while($table_array = mysql_fetch_array($result))
{
echo "<option>$table_array[0]</option>";
}
echo '</select>';
echo '</form>';
if(!$_POST['submit'])
{
?>
<form method="post" action="select_table.php">
<input type="submit" name="submit" value="Submit">
</form>
<?php
}
else
{
echo '<script type="text/javascript">
alert("Redirecting you to echo.php page");
window.location="echo.php"</script>';
}
}
else
{
echo "<option>No Names Present</option>";
}
}
?>
</td>
Коды для "echo.php ":
<?php
include "select_table.php";
echo "data is : ".$_POST['table'];
?>
Вывод echo.php было бы точно так же, как"select_table.php "с коробкой cobo и "данные: " без "учителей" или "ученика" слово как его перенаправление на echo.php .
2 answers
Я не совсем уверен, что именно вы хотите сделать, но, как уже указывал michaeltwofish, перенаправление на другую страницу с использованием javascript приведет к потере данных публикации. Также вы, кажется, повторяете два элемента , когда select_table.php вызывается без данных публикации, с одной только кнопкой отправки, в то время как в вашей первой форме кнопка отсутствует.
Обычно вы хотите, чтобы ваш php-скрипт либо выводил форму со списком, в котором пользователь может выбрать таблицу, либо, если были опубликованы данные (это означает, что пользователь выбрал значение), результаты выбора будут примерно такими:
<?php
if(isset($_POST['table'])) {
print "Selected element: " . $_POST['table'];
} else {
echo '<form method="post" action="select_table.php">';
echo '<select name="table">';
// here should be your SQL query and the combobox options generation
echo '</select>';
echo '<input type="submit" />';
echo '</form>';
}
?>
Когда форма отправлена, вы перенаправляете на echo.php, но это означает, что вы потеряете данные ПУБЛИКАЦИИ. Вам нужно тщательно подумать о потоке вашего приложения, потому что то, что у вас есть, кажется немного запутанным.