Не обновляет текст,почему?
1.
★☆ ИгRok™ ☆★ (08.12.2011 / 16:37)
Всем привет. Вобщем,проблема в том,что при редактировании сообщения,почему-то текст сообщения не редактируется,а лишь обновляется и возвращается исходный текст. Почему? Вот код:
<?php
if(isset($_GET['id']))
{
$id = f1($_GET['id']);
$q = mysql_query('SELECT * FROM chat WHERE id = "'.$id.'" LIMIT 1');
if(mysql_num_rows($q) == 0) exit('Такого сообщения не существует.');
$mguest = mysql_fetch_assoc($q);
if(!isset($_POST['messag']))
{
echo '<div class="text">
<form action="?act=edit&id='.$id.'" method="post" />
<b>• '.$mguest['author'].'</b>:<br />
<textarea name="text" cols="40" rows="5">'.$mguest['messag'].'</textarea><br />
<input type="submit" value="Изменить" /><br/>
</form></div>';
}
else
{
$messag = f2($_POST['messag']);
if(empty($messag)) die('Поле обязательно для заполнения.');
mysql_query('UPDATE chat SET messag = "'.$messag.'" WHERE id = "'.$id.'"');
echo '<div class="text">
Сообщение отредактированно.</div>
<div class="post">
« <a href="/">Назад</a></div>';
}
}
?>
2.
Николай (08.12.2011 / 16:45)
ужас какой код замудренный
может..
mysql_query('UPDATE chat SET messag = "'.$messag.'" WHERE id = "'.$id.'"');
echo '<div class="text">
Сообщение отредактированно.</div>
заменить на
$sql = "UPDATE chat SET messag = "'.$messag.'" WHERE id = "'.$id.'";";
if(mysql_query($sql)) {
echo'Сообщение отредактированно';
} else {
echo'Ошибка! Изменить данные не получилось!';
}
3.
★☆ ИгRok™ ☆★ (08.12.2011 / 16:47)
2. Я уже все что мог перепробовал,все что знаю (правда знаю не так уж и много),все равно никак. С базой,с функцией фильтрации все в порядке,не пойму-почему?
Добавлено через 01:04 сек.
Удаление поста написал по такому же принципу и все работает отлично,но редактирование...черт его знает.
Добавлено через 04:06 сек.
2. Сейчас попробую,спасибо
4.
Николай (08.12.2011 / 16:54)
вроде вот и есть ошибка ты тут обозначил переменую
$q = mysql_query('SELECT * FROM chat WHERE id = "'.$id.'" LIMIT 1');
а тут забыл
$y = mysql_query('UPDATE chat SET messag = "'.$messag.'" WHERE id = "'.$id.'"');
5.
★☆ ИгRok™ ☆★ (08.12.2011 / 17:00)
4. Ну не знаю,я так всегда пишу. Удаление тоже без переменной и работает. Сейчас попробую.
P.S.: из второго поста - не работает. Тоже самое,что у меня
Добавлено через 03:32 сек.
4. Нет,даже так не работает
6.
★☆ ИгRok™ ☆★ (08.12.2011 / 17:12)
народ,помогите,сам не пойму,почему так...
7.
An0nimous (08.12.2011 / 17:13)
mysql_query("UPDATE `chat` SET `messag` = '$messag' WHERE `id` = '$id'");
Добавлено через 00:24 сек.
а вообще в phpmyadmin прогони запрос и посмотри где ошибка
8.
Павел (08.12.2011 / 17:14)
messag - так и должно быть? не message?
проверь ошибки через mysql_error();
Добавлено через 02:10 сек.
а хотя с переменной разницы нет, если текст не меняется, а остается таким же то не срабатывает сам запрос
9.
★☆ ИгRok™ ☆★ (08.12.2011 / 17:29)
7. Попробую прогнать.
8. Так и должно быть
Добавлено через 04:41 сек.
нет,вобще никак не получается. Что за ... Блин!
10.
An0nimous (08.12.2011 / 17:37)
вот из моего скрипта mysql_query('UPDATE `book` SET `login`="'.$_POST['login'].'" , `msg`="'.$_POST['msg'].'" WHERE `id`="'.$id.'"'); и все работает!)
11.
★☆ ИгRok™ ☆★ (08.12.2011 / 17:40)
10. Сейчас попробую
Добавлено через 05:38 сек.
10. Чувак,буду должен ))) твой способ работает,спасибо.
Добавлено через 06:50 сек.
10.Ваш положительный голос за пользователя Снеговик Visavi успешно оставлен!
В данный момент его авторитет: 71
Всего положительных голосов: 73
Всего отрицательных голосов: 2
URL:
https://visavi.net/topics/27245