У меня две формы на одной странице. Один из них заключается в удалении учетной записи пользователя, а другой - в UPDATE
данных пользователей (диета пользователей, если быть точным). Формы используют разные values
для своих кнопок отправки, поскольку они представляют собой две формы seperete, где пользователь выбирает только один, а не тот и другой.Почему моя кнопка отправки не работает вместе с инструкцией UPDATE?
Я пытаюсь заставить кнопку отправки моего оператора UPDATE работать, но ничего не происходит, когда вы нажимаете кнопку. Инструкция UPDATE заключается в обновлении идентификатора пользователя dietID в таблице пользователей, хранящейся в моей базе данных MySQL. Я довольно новичок в php, я был бы признателен за любую помощь! код обработки
Форма для обновления диеты для вошедшего в систему пользователя:
<?php
$sess_userID =$_SESSION['userID'];
$dietopt = trim($_POST['dietopt']);
if(trim($_POST['submit']) == "Change") {
if (trim($_POST['dietopt']) == 1) {
require_once("connect.php");
if (!$db_server) {
die("Unable to connect to MySQL: " . mysqli_connect_error($db_server));
} else {
mysqli_select_db($db_server, $db_database) or die("<h1>Couldn't find db</h1>");
//UPDATE records of users table
$query="UPDATE users SET option= .$option . WHERE ID= $dietopt";
mysqli_query($db_server, $query) or die("Update failed" . mysqli_error($db_server));
header('location: account.php');
}
require_once("db_close.php");
} else {
//do nothing
}
}
HTML форма:
Would you like to change what your current diet is? Please select one
<br>
<td><input type="radio" name="dietopt" value="Meat-eater"/>Meat-eater</td>
<tr>
<td><input type="radio" name="dietopt" value="Vegetarian"/>Vegetarian</td></tr>
<tr>
<td><input type="radio" name="dietopt" value="Vegan"/>Vegan</td></tr>
<br>
<input type="submit" name="Change" value="Change">
На моей странице регистра я следующие переменные созданы:
$dietopt=trim($_POST['dietopt']);
$_SESSION['diet'] = $diet;
И код РАБОТЫ для моей формы удаления:
<?php
$sess_userID = $_SESSION['userID'];
if (trim($_POST['submit']) == 'submit') {
if (trim($_POST['delete']) == 1) {
require_once("connect.php");
if (!$db_server) {
die("Unable to connect to MySQL: " . mysqli_connect_error($db_server));
} else {
mysqli_select_db($db_server, $db_database) or die("<h1>Couldn't find db</h1>");
//DELETE records from comments table
$query = "DELETE FROM comments WHERE userID=$sess_userID";
mysqli_query($db_server, $query) or die("Delete 1 failed" . mysqli_error($db_server));
//DELETE record from users table
$query = "DELETE FROM users WHERE ID=$sess_userID";
mysqli_query($db_server, $query) or die("Delete 2 failed" . mysqli_error($db_server));
//LOGOUT AND DESTROY SESSION
$_SESSION = array();
session_destroy();
header('Location: index.php');
}
require_once("db_close.php");
} else {
header('location: home.php');
}
}
С формой:
<h3><p> Are you sure you want to delete your entire account <?php echo $_SESSION['username'];?>?</p>
This will remove your username, password and any comments or photos you have uploaded to our Community forum. We promise to delete all of your details and we will not store or sell your information.</h3>
<form action="account.php" method="post">
Yes:<input type="radio" name="delete" value="1" /><br />
No: <input type="radio" name="delete" value="0" checked="checked" /><br />
<input type="submit" name="submit" value="submit" />
</form>
Неправильного состояние '$ _POST ['submit']) ==" Изменить ")' потому что ваше имя поля 'name =" Изменить "' – Saty
Также неверно в запросе обновления синтаксиса 'query =" UPDATE users SET option =. $ Option. WHERE ID = $ dietopt "; ' – Saty
Еще одно замечание: 'if (trim ($ _ POST ['dietopt']) == 1) {' это никогда не будет 1 .. – Naruto