Есть простая гостевая на PHP, данные хранятся в MySQL базе. Сообщения могут оставлять только авторизованные пользователи, авторизация работает через сессии. Нужно сделать так, чтобы была возможность редактировать и удалять сообщения, мне показали, как это сделать, используя cookies, а можно ли оставить сессии или как-то внедрить cookies только на страницу с гостевой, чтобы все не переписывать?
Код гостевой:
Код
<?
session_start();
include ('checklogin.php');
?>
<html>
<head>
<title>Гостевая книга</title>
</head>
<body>
<?
{
if ($auth!=0)
echo"
<form method='POST' action='guestbook.php'>
<textarea name='message' cols=64 rows=6>Для сообщений</textarea>
<input type='submit' name='ok' value='Отправить'>
</form>";
$author=($_SESSION['login']);
$today=date('Y-m-d H:i:s');
if(isset($_POST['ok']))
{
include ('config.php');
$sql="INSERT INTO `messages` VALUES ('', '$author', '{$_POST['message']}', '$today')";
mysql_query($sql) or die (mysql_error());
mysql_close();
header('Location: guestbook.php');
}
}
else
{
echo "Незарегистрированные пользователи не могут оставлять сообщения в гостевой книге.";
}
{
include "config.php";
$mes = mysql_query("select * from messages;");
if($mes)
{
while($message = mysql_fetch_array($mes))
{
echo "
<table>
<tr>
<td>
".$message['datetime']."
".$message['name']." пишет:
</td>
</tr>
<tr>
<td>".$message['text']."</td>
<td>";
if ($message['name']==$_SESSION['login'] or $admin==1)
{
echo "
<form name='form2' method='POST' action='guestbook.php'>
<input type='submit' name='edit' value='edit'>
<input type='submit' name='del' value='del'>
</form>
";
if (isset($del))
{
$delete="DELETE from messages where text ='.$message['text'].'"; //тогда он удаляет все сообщения, как приделать идентификатор к конкретному сообщению, не могу понять
mysql_query($delete) or die (mysql_error());
}
}
echo "</td>
</tr>
</table>
<hr>
</div>";
}
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
}
?>
</body>
</html>
session_start();
include ('checklogin.php');
?>
<html>
<head>
<title>Гостевая книга</title>
</head>
<body>
<?
{
if ($auth!=0)
echo"
<form method='POST' action='guestbook.php'>
<textarea name='message' cols=64 rows=6>Для сообщений</textarea>
<input type='submit' name='ok' value='Отправить'>
</form>";
$author=($_SESSION['login']);
$today=date('Y-m-d H:i:s');
if(isset($_POST['ok']))
{
include ('config.php');
$sql="INSERT INTO `messages` VALUES ('', '$author', '{$_POST['message']}', '$today')";
mysql_query($sql) or die (mysql_error());
mysql_close();
header('Location: guestbook.php');
}
}
else
{
echo "Незарегистрированные пользователи не могут оставлять сообщения в гостевой книге.";
}
{
include "config.php";
$mes = mysql_query("select * from messages;");
if($mes)
{
while($message = mysql_fetch_array($mes))
{
echo "
<table>
<tr>
<td>
".$message['datetime']."
".$message['name']." пишет:
</td>
</tr>
<tr>
<td>".$message['text']."</td>
<td>";
if ($message['name']==$_SESSION['login'] or $admin==1)
{
echo "
<form name='form2' method='POST' action='guestbook.php'>
<input type='submit' name='edit' value='edit'>
<input type='submit' name='del' value='del'>
</form>
";
if (isset($del))
{
$delete="DELETE from messages where text ='.$message['text'].'"; //тогда он удаляет все сообщения, как приделать идентификатор к конкретному сообщению, не могу понять
mysql_query($delete) or die (mysql_error());
}
}
echo "</td>
</tr>
</table>
<hr>
</div>";
}
}
else
{
echo "<p><b>Error: ".mysql_error()."</b><p>";
exit();
}
}
?>
</body>
</html>
Всем, кто поможет, заранее спасибо.
Спустя 2 дня, 4 часа, 24 минуты, 38 секунд (30.05.2008 - 21:43) daburu написал(а):
В общем... Решение нашел, тему можно закрыть/удалить. Если кому понадобится, могу прислать)