Как получить значение из поля со списком 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 .

Author: hakre, 2010-09-13

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>';
}
?>
 3
Author: WakiMiko, 2010-09-13 03:03:00

Когда форма отправлена, вы перенаправляете на echo.php, но это означает, что вы потеряете данные ПУБЛИКАЦИИ. Вам нужно тщательно подумать о потоке вашего приложения, потому что то, что у вас есть, кажется немного запутанным.

 0
Author: michaeltwofish, 2010-09-13 02:08:32