Я пытаюсь удалить строку в таблице mySQL «пользователи». Предполагается, что учетная запись пользователя будет удалена при нажатии связанной кнопки, которая приведет их на эту страницу delete.php. Однако вместо того, чтобы вернуть меня на страницу входа в систему, я остаюсь в системе с учетной записью, которую предполагается удалить. Я пробовал несколько других вариантов, однако он либо не удаляет учетную запись, либо возвращает ошибку в зависимости от того, как я ее написал.
<?php
// Initialize the session
session_start();
require_once "config.php";
//delete the mySQL row
if (isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
$sql = "DELETE FROM users WHERE id = 'id'";
mysqli_query($link, $sql);
header("location: login.php");
exit;
}
?>
То же самое происходит, когда я пытаюсь это:
<?php
// Initialize the session
session_start();
include "config.php";
$id = $_REQUEST["id"];
//delete the mySQL row
$sql = "DELETE FROM users WHERE id='$id'";
mysqli_query($sql);
header("location: login.php");
exit;
?>
mysqli_query($link, $sql); ОК mysqli_query($sql); Не ОК, отсутствует параметр. Так это опечатка
$_SESSION["loggedin"] как минимум на false; еще лучше, уничтожьте всю сессию.






Пожалуйста, используйте идентификатор ссылки в mysqli_query.
Код должен быть следующим:
<?php
// Initialize the session
session_start();
include "config.php";
$id = $_REQUEST["id"];
//delete the mySQL row
$sql = "DELETE FROM users WHERE id = ".$id;
mysqli_query($link,$sql);
header("location: login.php");
exit;
?>
Вы должны уничтожить сеанс, используя session_destroy() или session_unset() перед перенаправлением.
Спасибо, это сработало! Мне просто нужно было изменить его с $sql = "DELETE FROM users WHERE id = ".$id; to $sql = "УДАЛИТЬ ОТ пользователей, ГДЕ id = ".$_SESSION['id'];
Во втором коде вы забыли вставить $link в mysqli_query($sql)
Включите отчеты об ошибках, и вы поймете, почему. Здесь вам не хватает некоторых параметров для некоторых функций.