Ты даже не представляешь как тут всё сложно =) Копипасти код, да проверяй его сам)
Уважаемые форумчане, прошу сравнить и сказать, в чём приципиальное различие между моим кодом и тем, что выложил LovelASS; Итак, мой код (исправленный)
Файл index.php
файл functions.php
Теперь его код
файл index.php
И сразу, чтобы без вопросов лишних было ещё один мой код но РАБОЧИЙ(очень похож на первый)
ВНИМАНИЕ!! Всё три кода формируют ОДИНАКОВЫЕ sql-запросы, НО в первом коде данные в таблице просто обнуляются
это опечатка лишь на форуме, в моём коде UPDATE
ну никто походу не сможет ответить на данный вопрос
спасибо! этот код действительно работает.. но не подскажешь в чём принципиальная разница, мешающая занести данные в базу в моём коде??
собственно код
<?
include('functions.php');
if ($_GET['write'])
$result = writerecord();
?>
<html>
<head>
...
</head>
<body>
<?=$result ?>
<form action="<? echo $_SERVER['PHP_SELF'];?>?write=1&id=2" method="post">
Заголовок:<input type="text" name="header" value="" size="80">
Текст:<textarea cols=50 rows=15 name="text"></textarea>
Сайт:<input type="text" name="sait" size="30" value="">
<input type="submit" name="change" value="Сохранить"></form>
</body>
</html>
function writerecord()
{
ob_start();
$header = $_POST['header'];
$txt = mysql_escape_string($_POST["text"]);
$sait = mysql_escape_string($_POST['sait']);
$id = intval($_POST['id']);
$text = "UPATE `saits` SET `header`='$header', `text`='$txt', `sait`='$sait' WHERE `id`='$id';";
$r = mysql_query($text) or die("Query failed: " . mysql_error());
$result = ob_get_contents();
ob_end_clean();
return $result;
}
Я такого не писал =)
тоже делал - разницы никакой!
тем более что при обновлении страницы мой код уже работает. я думаю тут дело в чём-то другом
Спасибо за ответы, но вы ищете ошибку не там.
mysql запрос который присваивается переменной $text, формируется правильно. Я это проверяю через "echo $text", запрос правильный и никаких ошибок не возникает. здесь дело в чём то другом.
ещё раз акцентирую внимание. при нажатии кнопки обновить в браузере формируется тот же запрос, но данные в БД сохраняются! Ещё напомню, что включена буферизация
Обрамил я в кавычки ` - в итоге результат один и тот же.
Насчёт '$_POST[' - в переменную $text заносится значение в двойных кавычках "" поэтому такого не происходит, формируется правильная строка запроса с данными, отправленными через форму.
Кстати, ещё один может быть не маловажный момент. После отправки данных потом при нажатии кнопки обновить в браузере формируется всё тот же sql запрос, но на этот раз данные заносятся в таблицу. Почему же не заносятся с первого раза из переменных?