- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
спасибо! этот код действительно работает.. но не подскажешь в чём принципиальная разница, мешающая занести данные в базу в моём коде??
ну никто походу не сможет ответить на данный вопрос
Принципиальная разница в элементарной невнимательности и описке
UPDATE не равно UPATE
Принципиальная разница в элементарной невнимательности и описке
UPDATE не равно UPATE
это опечатка лишь на форуме, в моём коде UPDATE
Тогда нужно видеть Ваш код, не тот который на сайте (который с неверным синтаксисом), а тот который не работает.
И начать рассказ с самого начала.
$text = "UPDATE items SET header='{$_POST["header"]}', text='{$_POST["text"]}', sait='{$_POST["sait"]}', moderated='0' WHERE id='{$_POST["id"]}'";
И вам уже сказали о том, что нужно экранировать спецсимволы.
iexpert добавил 25.07.2011 в 19:47
собственно код
файл index.php
<?
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>
файл functions.php
<?
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;
}
?>
Ну и чему будет равен $_POST["id"] ?
А во второй раз срабатывает, так как данные с таблице обнуляются, и, как следствие, условие WHERE id='' становится истинно
Кстати, хороший совет на будущее. Если вроде бы все верно, а кусок кода ну никак не работает, и при этом он вроде бы примитивный, и негде ошибиться, сотрите его и напишите заново. Глаз замыливается, реально можно очень долго выискивать элементарную ошибку, нужен либо свежий взгляд, либо переписать. последнее чаще всего быстрее.
iexpert, тут все сложнее :)
это опечатка лишь на форуме, в моём коде UPDATE
ТС судя по всему боится, что его кривой код будет украден, поэтому не даёт оригинал, а пытается вызвать телепатические способности у форумчан, публикуя левый код.
iexpert, тут все сложнее :)
ТС судя по всему боится, что его кривой код будет украден, поэтому не даёт оригинал, а пытается вызвать телепатические способности у форумчан, публикуя левый код.
Ты даже не представляешь как тут всё сложно =) Копипасти код, да проверяй его сам)
Уважаемые форумчане, прошу сравнить и сказать, в чём приципиальное различие между моим кодом и тем, что выложил LovelASS; Итак, мой код (исправленный)
Файл index.php
<?
$link = mysql_connect("localhost", 'records', '333')
or die("Could not connect : " . mysql_error());
mysql_select_db('records', $link) or die("Could not select database");
include('functions.php');
if (isset($_GET['write'])) {
$result = writerecord();
}
?>
<html>
<head>
<title>Скрипт</title>
</head>
<body>
<?=$result;?>
<form action="<? echo $_SERVER['PHP_SELF'];?>?id=392&write=1" method="post">
<p>Заголовок:<br> <input type="text" name="header" value="" size="80"></p>
<p>Текст:<br> <textarea cols=50 rows=15 name="text"></textarea></p>
<p>Сайт:<br> <input type="text" name="sait" size="30" value=""></p>
<p><input type="submit" value="Сохранить"></p>
</form>
</body>
</html>
файл functions.php
<?
function writerecord() {
ob_start();
$header = $_POST['header'];
$txt = mysql_escape_string($_POST["text"]);
$sait = mysql_escape_string($_POST['sait']);
$id = intval($_GET['id']);
$query = "UPDATE `saits` SET `header`='$header', `text`='$txt', `sait`='$sait' WHERE `id`='$id';";
$result = mysql_query($query);
echo $query.'<br />'.$result;
if (!$result) $result = "<p><span style='color:red;'>Ошибка: ".mysql_error()."</span><br><b>Запрос: ".$query."</b></p>";
$res = ob_get_contents();
ob_end_clean();
return $res;
}
?>
Теперь его код
файл index.php
<?
$link = mysql_connect("localhost", 'records', '333')
or die("Could not connect : " . mysql_error());
mysql_select_db('records', $link) or die("Could not select database");
if (isset($_POST['write'])) {
include_once('functions.php');
$result = writerecord();
}
?>
<html>
<head>
<title>Скрипт</title>
</head>
<body>
<?=$result;?>
<form action="" method="post">
<input type="hidden" name="write" value="1">
<input type="hidden" name="id" value="2">
<p>Заголовок:<br> <input type="text" name="header" value="" size="80"></p>
<p>Текст:<br> <textarea cols=50 rows=15 name="text"></textarea></p>
<p>Сайт:<br> <input type="text" name="sait" size="30" value=""></p>
<p><input type="submit" value="Сохранить"></p>
</form>
</body>
</html>
файл functions.php
<?
function writerecord() {
$header = $_POST['header'];
$txt = mysql_escape_string($_POST["text"]);
$sait = mysql_escape_string($_POST['sait']);
$id = intval($_POST['id']);
$query = "UPDATE `saits` SET `header`='$header', `text`='$txt', `sait`='$sait' WHERE `id`='$id';";
$result = mysql_query($query);
if (!$result) $result = "<p><span style='color:red;'>Ошибка: ".mysql_error()."</span><br><b>Запрос: ".$query."</b></p>";
return $result;
}
?>
И сразу, чтобы без вопросов лишних было ещё один мой код но РАБОЧИЙ(очень похож на первый)
файл index.php
<?
$link = mysql_connect("localhost", 'records', '333')
or die("Could not connect : " . mysql_error());
mysql_select_db('records', $link) or die("Could not select database");
include('functions.php');
if (isset($_POST['write'])) {
$result = writerecord();
}
?>
<html>
<head>
<title>Скрипт</title>
</head>
<body>
<?=$result;?>
<form action="<? echo $_SERVER['PHP_SELF'];?>?id=392" method="post">
<input type="hidden" name="write" value="1">
<p>Заголовок:<br> <input type="text" name="header" value="" size="80"></p>
<p>Текст:<br> <textarea cols=50 rows=15 name="text"></textarea></p>
<p>Сайт:<br> <input type="text" name="sait" size="30" value=""></p>
<p><input type="submit" value="Сохранить"></p>
</form>
</body>
</html>
файл functions.php
<?
function writerecord() {
ob_start();
$header = $_POST['header'];
$txt = mysql_escape_string($_POST["text"]);
$sait = mysql_escape_string($_POST['sait']);
$id = intval($_GET['id']);
$query = "UPDATE `saits` SET `header`='$header', `text`='$txt', `sait`='$sait' WHERE `id`='$id';";
$result = mysql_query($query);
echo $query.'<br />'.$result;
if (!$result) $result = "<p><span style='color:red;'>Ошибка: ".mysql_error()."</span><br><b>Запрос: ".$query."</b></p>";
$res = ob_get_contents();
ob_end_clean();
return $res;
}
?>
ВНИМАНИЕ!! Всё три кода формируют ОДИНАКОВЫЕ sql-запросы, НО в первом коде данные в таблице просто обнуляются