Не обновляет текст,почему?

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&amp;id='.$id.'" method="post" />

<b>&#8226; '.$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">
&#171; <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