#php #radio-button
#php #переключатель
Вопрос:
У меня есть список элементов в одном файле (fruit.php ):
<form action="delete_items.php" method="post">
<input type="radio" value="apple" name="fruit">Apple<br>
<input type="radio" value="pear" name="fruit">Pear<br>
<input type="radio" value="banana" name="fruit">Banana<br>
<input type="submit" value="delete" name="deleteButton"><br>
</form>
В delete_items.php , У меня есть переменная, которая хранит выделение:
<?php
$selection = $_POST["fruit"];
echo "are you sure you want to delete it?";
echo '<form action="delete_confirmation.php" method="post"><br>';
echo '<input type="submit" name="deleteYes" value="Yes"><br>';
echo '<input type="submit" name="deleteNo" value="No"><br>';
echo '</form>';
?>
Чем в файле подтверждения (delete_confirmation.php ):
<?php
include 'delete_items.php';
if($_POST["deleteYes"]){
$query = 'DELETE FROM databaseName WHERE fruitName="' . $selection . '"';
$result = mysqli_query($connection, $query);
if(!$result){
die("Delete after check query failed!");
} else {
echo "Delete after check query success!";
}
} elseif($_POST["deleteNo"]){
echo "The course was not deleted!";
}
?>
Но переменная $selection
в delete_confirmation.php файл всегда имеет значение null, даже несмотря на то, что я включил delete_items.php файл (когда я повторяю его, ничего не отображается). Есть ли способ передать переменную выбора из delete_items.php к тому delete_confirmation.php досье?
Комментарии:
1. Вам нужно добавить
fruit
во вторую форму. Попробуйте использовать скрытый ввод, напримерecho '<input type="hidden" name="fruit" value="'.$selection.'"/>';
2. @Phil спасибо за ваш ответ! Я попробовал это, и это сработало. Однако нет ли способа сделать это с помощью кнопок «да» и «нет»?
3. HTTP не имеет состояния. Вы либо передаете соответствующие данные с каждым запросом, либо сохраняете их где-нибудь для последующего извлечения
4. @Phil Большое вам спасибо за ваше объяснение и за ваш ответ 🙂