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

Печать RSS
53

Автор
★☆Pro100Поэт☆★
0
Всем привет. Вобщем,проблема в том,что при редактировании сообщения,почему-то текст сообщения не редактируется,а лишь обновляется и возвращается исходный текст. Почему? Вот код:
<?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>';
}
}
?>

Оранжевые штаны
0
ужас какой код замудренный
может..
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'Ошибка! Изменить данные не получилось!'; 
} 
Изменил: Николай (08.12.2011 / 16:49)
Автор
★☆Pro100Поэт☆★
0
2. Я уже все что мог перепробовал,все что знаю (правда знаю не так уж и много),все равно никак. С базой,с функцией фильтрации все в порядке,не пойму-почему?

Добавлено через 01:04 сек.
Удаление поста написал по такому же принципу и все работает отлично,но редактирование...черт его знает.

Добавлено через 04:06 сек.
2. Сейчас попробую,спасибо

Оранжевые штаны
0
вроде вот и есть ошибка ты тут обозначил переменую
$q = mysql_query('SELECT * FROM chat WHERE id = "'.$id.'" LIMIT 1');
а тут забыл
$y = mysql_query('UPDATE chat SET messag = "'.$messag.'" WHERE id = "'.$id.'"');
Изменил: Николай (08.12.2011 / 16:55)
Автор
★☆Pro100Поэт☆★
0
4. Ну не знаю,я так всегда пишу. Удаление тоже без переменной и работает. Сейчас попробую.
P.S.: из второго поста - не работает. Тоже самое,что у меня

Добавлено через 03:32 сек.
4. Нет,даже так не работает
Автор
★☆Pro100Поэт☆★
0
народ,помогите,сам не пойму,почему так...
A

Красные штаны
0
mysql_query("UPDATE `chat` SET `messag` = '$messag' WHERE `id` = '$id'");

Добавлено через 00:24 сек.
а вообще в phpmyadmin прогони запрос и посмотри где ошибка

Чатланин
0
messag - так и должно быть? не message?
проверь ошибки через mysql_error();

Добавлено через 02:10 сек.
а хотя с переменной разницы нет, если текст не меняется, а остается таким же то не срабатывает сам запрос
Автор
★☆Pro100Поэт☆★
0
7. Попробую прогнать.
8. Так и должно быть

Добавлено через 04:41 сек.
нет,вобще никак не получается. Что за ... Блин!
A

Красные штаны
0
вот из моего скрипта mysql_query('UPDATE `book` SET `login`="'.$_POST['login'].'" , `msg`="'.$_POST['msg'].'" WHERE `id`="'.$id.'"'); и все работает!)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск