[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не удалить пользователя из бд
belomorinka
Не получается удалить запись из БД. В простенькую форму вводится имя, которое нужно удалить, но с бд ничего не происходит. В чем ошибка?

<?php

require_once 'config.php'; // Присоеденям файл config.php для подключания к БД

if ($_SESSION['user_privileg']==1) // задается при аутентификации, дает право на изменение бд

$login = $_POST['login'];

$query = "DELETE FROM `users` WHERE `login`='$login'"; // Строим запрос
$result_query = mysql_query($query) or die(mysql_error()); // Выполняем запрос


?>

<html>
<
head>
<
title></title>
</
head>
<
body>
<
form method=post>
Имя <input type="text" name="login" value=""><br>
<
input type="submit" name="" value="Удалить"><br>
</
form>


<
a href="index1.php">На страницу авторизации</a>
</
body>
</
html>




Спустя 7 минут, 8 секунд (7.04.2011 - 19:25) T1grOK написал(а):
И как вы представляете ваше условие? Оно же равносильно

if ($_SESSION['user_privileg']==1){
$login = $_POST['login'];
}
$query = "DELETE FROM `users` WHERE `login`='$login'"; // Строим запрос
$result_query = mysql_query($query) or die(mysql_error()); // Выполняем запрос

То есть, есть права или нету mysql прошерстит базу, хотя и ничего не удалит

Спустя 32 минуты, 26 секунд (7.04.2011 - 19:58) belomorinka написал(а):
если пользователь не имеет права удалять пользователя, то в переменную $login ничего не запишется, а значит. никто не удалится...

Спустя 30 минут, 26 секунд (7.04.2011 - 20:28) inpost написал(а):
belomorinka
И выйдет ошибка на странице, и появится всем твоя огромная дыра на сайте smile.gif

На глаз ошибок нет, покажи структуру и записи в БД

Спустя 3 минуты, 58 секунд (7.04.2011 - 20:32) Игорь_Vasinsky написал(а):
а синтаксис ?

Цитата
$query = "DELETE FROM `users` WHERE `login`='$login'"; // Строим запрос


$query = "DELETE FROM `users` WHERE `login`='".$login."'"; // Строим запрос

а можно было и нотис показать.

также имеет значение регистр название полей и таблиц - если не на локалхосте, а у хостера

Спустя 59 секунд (7.04.2011 - 20:33) Игорь_Vasinsky написал(а):
и согласен с T1grOK
Цитата
То есть, есть права или нету mysql прошерстит базу, хотя и ничего не удалит



Спустя 1 час, 30 минут, 34 секунды (7.04.2011 - 22:04) belomorinka написал(а):
Вот немного кривой код редактирования записей в БД - он работает.
<?php
//$sql = "ALTER TABLE users ADD privileg INT"; новый столбец privileg в таблицу users
session_start();

require_once 'config.php'; // Присоеденям файл config.php для подключания к БД

if ($_SESSION['user_privileg']==1)

$query = "SELECT * FROM `users`";
$result_query = mysql_query($query) or die(mysql_error());
$num = mysql_num_rows($result_query);

$row= array();
$rows = array();
while ($row = mysql_fetch_assoc($result_query))
{
$rows[] = $row;
}
?>
<html>
<
head>
<
title></title>
</
head>
<
body>
Всего в таблице <?=$num ?> записей! <br>
<
table border=1>
<?php foreach ($rows as $row) {?>
<tr>
<
td><?=$row['login']?></td>
<
td><?=$row['info'] ?></td>
<
td><?=$row['id'] ?></td>
<
td><?=$row['privileg'] ?></td>
</
tr>
<?php } ?>


<form method=post>
<
input type="hidden" name="edit" value="1">
Имя <input type="text" name="login" value="<?=$row['login'] ?>"><br>
Ифно <textarea name=info wrap=soft><?=$row['info'] ?></textarea><br>
id <input type="text" name="id" value="<?=$row['id'] ?>"><br>
privelegies <input type="text" name="privileg" value="<?=$row['privileg'] ?>"><br>
<
input type="submit" name="" value="Изменить"><br>
</
form>
<?$login = $_POST['login']; // здесь в переменные записываем данные введенные в поля
$info = $_POST['info'];
$id = $_POST['id'];
$previlegies= $_POST['privileg'];

// Заносим в переменную $query текст запроса

$query = "UPDATE `users` SET `login`='$login', `info`='$info', `privileg`='$previlegies' WHERE `id`='{$_POST['id']}'";

mysql_query($query) or die(mysql_error()); // Выполняем запрос или выводим ошибку в случае неудачи
?>
<table><br>
<
a href="index1.php">На главную</a>
</
body>
</
html>

вот файл конфига бд
<?php

$db_server = "localhost"; // сервер mysql
$db_user = "root"; // пользователь бд
$db_password = ""; // пароль этого пользователя
$db_name = "test"; // название бд

mysql_connect($db_server, $db_user, $db_password) or die(mysql_error()); // подключаемся к бд с нашим именем пользователя и паролем, или выводим ошибку в случае неудачи
mysql_select_db($db_name) or die(mysql_error()); // выбираем бд для дальнейшей работы с ней, или выводим ошибку в случае неудачи

?>

а вот сама структура записей бд http://fotki.yandex.ru/users/belomorinka/view/366556/?page=0
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.