|
|
|
| в общем сабж...
должны обновлятся данные в таблице но этого не происходит...
вот файл добавления комментария:
<?php
include 'config.php';
$query = "SELECT * FROM cms WHERE id_news='".$_GET['id_news']."'";
$ath = @mysql_query($query);
if($ath)
{
while($news = mysql_fetch_array($ath)) {
echo $news['name_new'];
echo ("<br />");
echo $news['time'];
echo ("<br />");
echo ("<br />");
echo $news['pred_new'];
echo ("<br />");
echo ("<br />");
echo $news['all_new'];
echo ("<br />");
echo ("<br />");
}
}
$refresh = "<input type=reset value=Отменить>";
?>
<form action="add_com.php" method="post">
<table cellspacing="0" cellpading="0" border="1" bordercolor="000000" width="400">
<tr><td>
<table cellspacing="0" cellpading="0" border="0">
<tr><td>
Ваше Имя:
</td>
<td>
<input type=text name=name>
</td></tr>
<tr><td>
Ваш Комментарий:
</td>
<td>
<textarea ROWS=10 COLS=40 name="comment"></textarea>
</td></tr>
<tr><td>
<input type="submit" value="Отправить">
</td>
<td>
<?php
echo '<input type=hidden name=id_news value='.$news['id_news'].'><br />';
echo "$refresh";
?>
</td></tr>
</table>
</form></td>
</tr>
</table>
|
это его обработчик:
<?
include "config.php";
$id_comments = $_POST['id_comments'];
$id_news = $_POST['id_news'];
$name = $_POST['name'];
$comment = $_POST['comment'];
$time = $_POST['time'];
$comment = nl2br($comment);
$query = 'UPDATE comments SET id_comments="'.$id_comments.'", id_news="'.$id_news.'", name="'.$name.'", comment="'.$comment.'", time="'.$time.'" WHERE id_news="'.id_news.'"';
if(!mysql_query($query))
{
exit("Ошибка - ".mysql_error());
}
header("location:http://localhost/cms/index2.php");
?>
|
.
А это сама таблица...
CREATE TABLE 'comments' (
'id_comments' INT NOT NULL AUTO_INCREMENT,
'id_news' TINYTEXT,
'name' TINYTEXT,
'comment' TINYTEXT DEFAULT NULL,
'time' DATETIME DEFAULT NULL ,
PRIMARY KEY (id_comments)
) TYPE = MYISAM;
|
| |
|
|
|
|
|
|
|
для: 10100100
(27.11.2005 в 09:02)
| | В обработчике выведите запрос $query и закомментируйте редирект
<?
include "config.php";
$id_comments = $_POST['id_comments'];
$id_news = $_POST['id_news'];
$name = $_POST['name'];
$comment = $_POST['comment'];
$time = $_POST['time'];
$comment = nl2br($comment);
$query = 'UPDATE comments SET id_comments="'.$id_comments.'", id_news="'.$id_news.'", name="'.$name.'", comment="'.$comment.'", time="'.$time.'" WHERE id_news="'.id_news.'"';
echo $query;
if(!mysql_query($query))
{
exit("Ошибка - ".mysql_error());
}
// header("location:http://localhost/cms/index2.php");
?>
|
Как выглядите запрос, который выводится в окно браузера? | |
|
|
|
|
|
|
|
для: cheops
(27.11.2005 в 13:29)
| | выдвёт вот это:
UPDATE comments SET id_comments="", id_news="", name="243", comment="2345е", time="" WHERE id_news="id_news"
|
но почему? | |
|
|
|
|
|
|
|
для: 10100100
(27.11.2005 в 13:55)
| | А у вас id_news без знака $... т.е. следует писать $id_news. | |
|
|
|
|
|
|
|
для: cheops
(27.11.2005 в 20:24)
| | тьфу шайтан - точно.... ща проверю (в капле) | |
|
|
|
|
|
|
|
для: cheops
(27.11.2005 в 20:24)
| | не - та же капуста.. не выводит почему то данные id_news Id_comment и time... ничё не понимаю... | |
|
|
|
|
|
|
|
для: 10100100
(28.11.2005 в 11:44)
| | Распечатайте массив $_POST - в нём эти элементы присутствуют?
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(28.11.2005 в 13:54)
| | нет присутствуют лишь те элементы которые ющер непосредственно вводит в две строки ИМЯ И СООБЩНИЕ | |
|
|
|
|
|
|
|
для: 10100100
(28.11.2005 в 14:09)
| | Вот что не нравится в первом блоке, у вас mysql_fetch_array() выполняется в цикле
while($news = mysql_fetch_array($ath))
|
причём в зависимости от условия, посмотрите в HTML-коде страницы формы id_news присутствует в скрытом поле? Кроме того, непонятно откуда берётся поле time - оно вообще отсутствует в HTML-форме и следовательно не может попасть в POST-данные. Может вместо него лучше написать NOW(). Какое время хранится в этом поле? | |
|
|
|
|
|
|
|
для: cheops
(28.11.2005 в 19:59)
| | хм. действительно дело в цикле и ещё в парочке косячков... но почему такая заморочка с циклом получилась??? | |
|
|
|