[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с гостевой книгой
balalaikin
Всем добрый день! Пишу вам здесь на форум первый раз, с правилами ознакомился, в поиске поискал, но слишком много нашло ответов по ключевым словам,из первых 10 ответа не было.
Моя проблема: тренируюсь в пхп и написал гостевую книгу, все вроде неплохо-работает, но кнопку "удалить" добавил не как ссылкой и посланием запроса методом GET-все работает, потом сделал с удалением через форму с полем hidden, и вот тут проблема. Добавляю код:

<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
if(isset($_POST['delid'])){
$id=$_POST['delid'];
$sql="DELETE FROM students WHERE id=$id";
$result=mysql_query($sql);
if(!$result) die("Сбой при доступе к базе данных". mysql_error());
header('Location: ' . $_SERVER['PHP_SELF']);
}
elseif(!empty($_POST['name']) and !empty($_POST['num']) and !empty($_POST['average'])){
$name=trim(strip_tags($_POST['name']));
$num=trim(strip_tags((int)$_POST['num']));
$ave=trim(strip_tags($_POST['average']));
$time=date("H:i:s");
$ip=$_SERVER['REMOTE_ADDR'];
$sql="INSERT INTO students (name,num,average,date,ip) VALUES(
'
$name', '$num', '$ave', '$time', '$ip')";
$result=mysql_query($sql);
if(!$result) die("Сбой при доступе к базе данных3". mysql_error());
header('Location: ' . $_SERVER['PHP_SELF']);
}
else echo "zapolnite vse polya!";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<
head>
<
title></title>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</
head>
<
body>

<
h1>Студенты ИБМТ</h1>

<
form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Ваше имя:<br />
<
input type="text" name="name" /><br />
Номер вашей группы:<br />
<
input type="text" name="num" /><br />
Средний балл:<br />
<
input type="text" name="average" /><br />
<
br />
<
input type="submit" value="Добавить!" />

</
form>
<?php
$query="SELECT * FROM students ORDER BY id DESC";
$result=mysql_query($query);
if(!$result) die("Сбой при доступе к базе данных". mysql_error());
$row=mysql_num_rows($result);// Poluchaem massiv
echo "Количество записей:".($row)."<br>";
while($assoc=mysql_fetch_assoc($result)){
echo "<hr>";
echo "<a href='pppp.php'>".$assoc['name']."</a>";
echo "<p>Номер группы:".$assoc['num']."</p>";
echo "<p>Средний балл:".$assoc['average']."</p>";
echo "Дата входа:".$assoc['date']."<br><br>";
echo "IP:".$assoc['ip'];
echo <<<_EN
<form action="sbmt.php" method="post"/>
<input type="hidden" name="delid" value="
{$assoc['id']}" />
<input type="submit" value="Удалить студента"/>

_EN;
echo "<hr>";
}
mysql_close();
?>

Вставил весь,заранее извиняюсь, если это то самое ооооооочень много.
Проблема в том, что при нажатии кнопки "удалить", удаляется не та записей идентификатор которой передается( в исходном коде все нормально, каждой записи, задается свое delid), а самая ранняя запись из бд, я пока не могу понять из-за чего это происходит. Объясните пожалуйста, я предполагаю, что проблема кроется именно в поле hidden( читаю книгу по пхп, там похожий пример, все также как и я сделал).
Вот mysql таблица

CREATE TABLE msgs (
id int(11) NOT NULL auto_increment,
name varchar(50) NOT NULL default '',
num varchar(50) NOT NULL default '',
average float NOT NULL default '',
date varchar(50) NOT NULL default '',
ip varchar(50) NOT NULL default '',
PRIMARY KEY (id)
)
Быстрый ответ:

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