Я пишу админ часть к своему сайту и столкнулся со следующей проблемой.
На данном этапе прописал скрипт редактирования содержащейся в базе данных, в таблице где содержится контент всех страниц, информации.
С базой соединяется, список страниц на сайте выводит... нажимаю по ним, по идее должна появиться форма редакт. заполненная инф-цией. А она не появляется =( ... хотя в условии вроде бы всё верно прописал.
Если переменная id не присвоена выводить список уроков. А если присвоена то табличку с заполненной информацией. Помогите чайнику=) очень очень надо.
вот код страницы:
__________________________________________________
<?
$db = mysql_connect ("localhost","php","12345 ");
mysql_select_db ("wmaykop",$db);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/...
<html xmlns="www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>форма редактирования</title>
</head>
<body>
<?
if (!isset($id))
{
$result = mysql_query("SELECT id,h1 FROM settings");
$myrow = mysql_fetch_array($result);
do
{
printf ("
<a href='form.php?id=%s'>%s</a>
",$myrow["id"],$myrow["h1" ]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
$result = mysql_query("SELECT * FROM settings WHERE id=$id");
$myrow = mysql_fetch_array($result);
print <<<HERE
<form action="" method="post" name="form1">
<input name="page" type="text" value="$myrow[page]" size="10" maxlength="255">Название страницы
<input name="title" type="text" value="$myrow[title]" size="10" maxlength="255">Заголовок страницы
<input name="meta_d" type="text" value="$myrow[meta_d]" size="10" maxlength="255">Дискрипшенс
<input name="meta_k" type="text" value="$myrow[meta_k]" size="10" maxlength="255">Ключевые слова
<input name="h1" type="text" value="$myrow[h1]" size="10" maxlength="255">Заголовок текста
<input name="text" type="text" value="$myrow[text]">Текст
</form>
HERE;
}
?>
</body>
</html>
Спустя 8 минут, 55 секунд (26.11.2010 - 12:06) inpost написал(а):
Не ициализирована переменная id, Попов про это рассказывал, слушать внимательнее надо было: $id = $_GET['id'];
Спустя 17 минут, 40 секунд (26.11.2010 - 12:24) linker написал(а):
А также
do {} while()на
while() {}
Спустя 4 минуты, 56 секунд (26.11.2010 - 12:29) kovaldm написал(а):
Цитата (linker @ 26.11.2010 - 12:24) |
А также do {} while()на while() {} |
И вот эту строчку убрать перед while.
$myrow = mysql_fetch_array($result);
Спустя 51 минута, 54 секунды (26.11.2010 - 13:21) Guest написал(а):
Спасибо, сейчас будем пробовать!
Спустя 5 минут, 34 секунды (26.11.2010 - 13:26) Guest написал(а):
Да, как только инициализировал переменную id. сразу же всё вышло. Спасибо огромное.
Всё остальное оставил без изменений.
А курсы Попова, обязательно пересмотрю!
Всё остальное оставил без изменений.
А курсы Попова, обязательно пересмотрю!
Спустя 23 минуты, 33 секунды (26.11.2010 - 13:50) linker написал(а):
Guest
Наоборот, даже не думай пересматривать. Есть замечательные курсы от Irbis-team. Ссылок на них тут полно.
Наоборот, даже не думай пересматривать. Есть замечательные курсы от Irbis-team. Ссылок на них тут полно.
Спустя 1 час, 58 минут, 5 секунд (26.11.2010 - 15:48) Guest написал(а):
Ребята, у меня опять проблема=(... думаю что опять с этой переменной id ...
Теперь пытаюсь сделать редактирование материала из админки. Вроде бы всё успешно, но вот когда нажимаю финальную кнопку выскакивает надпись "материал успешно изменен"
иду проверять в базу, а там ШИШ... в чём беда?
____________________________________________________
Теперь пытаюсь сделать редактирование материала из админки. Вроде бы всё успешно, но вот когда нажимаю финальную кнопку выскакивает надпись "материал успешно изменен"
иду проверять в базу, а там ШИШ... в чём беда?
____________________________________________________
<?
$db = mysql_connect ("localhost","php","12345");
mysql_select_db ("wmaykop",$db);
if (isset($_POST['page'])) {$page = $_POST['page']; if ($page == '') {unset ($page);} }
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title == '') {unset ($title);}}
if (isset($_POST['meta_d'])) {$meta_d = $_POST['meta_d']; if ($meta_d == '') {unset ($meta_d);}}
if (isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k']; if ($meta_k == '') {unset ($meta_k);}}
if (isset($_POST['h1'])) {$h1 = $_POST['h1']; if ($h1 == '') {unset ($h1);}}
if (isset($_POST['text'])) {$text = $_POST['text']; if ($text == '') {unset ($text);}}
if (isset($_POST['id'])) {$id = $_POST['id'];}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Обработчик</title>
</head>
<body>
<?
if (isset($page) and isset($title) and isset($meta_d) and isset($meta_k) and isset($h1) and isset($text))
{
/*тут пишем что можно заносить в базу*/
$result = mysql_query ("UPDATE settings SET page='$page', title='$title', meta_d='$meta_d', meta_k='meta_k', h1='$h1', text='$text' WHERE id='$id'");
if ($result == 'true') {echo "<p>Материал успешно обновлён в Базе Данных</p>";}
else {echo "<p>Материал не обновлён в Базе Данных</p>";}
}
else
{
echo "<p>Проверь ещё раз, что - то не ввёл, или ввёл не корректное значение при обновлении данных.</p>";
}
?>
</body>
</html>
Спустя 19 минут, 4 секунды (26.11.2010 - 16:07) sixpoundeeer написал(а):
Замените:
На это:
И судя по тому, что
if ($result == 'true') {echo "<p>Материал успешно обновлён в Базе Данных</p>";}
else {echo "<p>Материал не обновлён в Базе Данных</p>";}
На это:
if(!$result)
echo "<p>Материал не обновлён в Базе Данных</p>";
else
echo "<p>Материал успешно обновлён в Базе Данных</p>";
И судя по тому, что
Цитата |
иду проверять в базу, а там ШИШ |
придется искать ошибку в запросе.
И, кстати, совет от новичка новичку: забудьте все, чему учил вас Попов. Почитайте лучше курсы от irbis team.
Спустя 13 минут, 23 секунды (26.11.2010 - 16:20) Guest написал(а):
Спасибо!=)...буду пробовать.
неужели Попов такой ЛОХ, вроде бы курсы не плохие сделал. м?
неужели Попов такой ЛОХ, вроде бы курсы не плохие сделал. м?
Спустя 4 минуты, 18 секунд (26.11.2010 - 16:25) Guest написал(а):
Заменил... ничего не изменилось...
да блин, он походу понимает что нужно что-то заменить в базе, но не может понять что...
думаю что я всё-таки с этим id напортачил.
да блин, он походу понимает что нужно что-то заменить в базе, но не может понять что...
думаю что я всё-таки с этим id напортачил.
Спустя 2 минуты, 2 секунды (26.11.2010 - 16:27) sixpoundeeer написал(а):
Цитата (Guest @ 26.11.2010 - 13:20) |
неужели Попов такой ЛОХ, вроде бы курсы не плохие сделал. м? |
Это можно понять только когда читаешь более серьезные вещи и начинаешь сравнивать. Я тоже когда-то пересмотрел все его курсы по PHP, MySQL, HTML и CSS.
Спустя 4 минуты, 20 секунд (26.11.2010 - 16:31) Guest написал(а):
Ну посмотрим=))) у меня цель стать самым крутым КОДЕРОМ на свете=)))
__________________
Блин, никак не могу решить эту проблему...=(

__________________
Блин, никак не могу решить эту проблему...=(
Спустя 47 минут, 40 секунд (26.11.2010 - 17:19) sixpoundeeer написал(а):
Сделайте вывод на экран того, что содержится в переменных непосредственно перед запросом. Убедитесь, что в $id содержится число, которое является идентификатором одной из строк.
Спустя 27 минут, 3 секунды (26.11.2010 - 17:46) inpost написал(а):
Пишем запрос правильно:
А вот и ошибка! meta_k - не переменная! А должна быть ею!
$result = mysql_query ("UPDATE `settings` SET
`page`='".$page."',
`title`='".$title."',
`meta_d`='".$meta_d."',
`meta_k`='".meta_k."',
`h1`='".$h1."',
`text`='".$text."'
WHERE `id`='".$id."'") or die(mysql_error());
А вот и ошибка! meta_k - не переменная! А должна быть ею!
Спустя 1 минута, 31 секунда (26.11.2010 - 17:47) kovaldm написал(а):
Гамно, много лишнего
После вот этой строки
Пропиши вот эту.
И смотри ошибку.
После вот этой строки
$result = mysql_query ("UPDATE settings SET page='$page', title='$title', meta_d='$meta_d', meta_k='meta_k', h1='$h1', text='$text' WHERE id='$id'");
Пропиши вот эту.
echo mysql_error();
И смотри ошибку.
Спустя 2 минуты, 59 секунд (26.11.2010 - 17:50) inpost написал(а):
1. Форма передаёт id???
2. В самом начале скрипта напиши эту строчку:
2. В самом начале скрипта напиши эту строчку:
<?php error_reporting(E_ALL & ~E_NOTICE); ?>
Спустя 3 минуты, 33 секунды (26.11.2010 - 17:54) inpost написал(а):
Сорри за флейм: По теме, в форме напиши:
И после этого ещё Попова винят... внимательнее надо быть, в универе не всё преподают, что тебе надо, в школе тоже, потому что это бред! Попов - это добровольный твой выбор! Сам выбрал, так отнесись к своему выбору ответственно!
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>">
И после этого ещё Попова винят... внимательнее надо быть, в универе не всё преподают, что тебе надо, в школе тоже, потому что это бред! Попов - это добровольный твой выбор! Сам выбрал, так отнесись к своему выбору ответственно!
Спустя 18 часов, 23 минуты, 37 секунд (27.11.2010 - 12:17) Guest написал(а):
ок! Спасибо что откликнулись! сейчас буду пробовать!
Спустя 5 часов, 47 минут, 27 секунд (27.11.2010 - 18:05) Guest написал(а):
Ничего не меняется... добавил значёк $ всё равно бесполезно!=(...
всё таки что-то с переменной id
перед запросом пишу
echo $id;
он ничего не выводит...
может как то из пердыдущего файла где находится форма передать переменную id, мне кажется он её не передаёт?
всё таки что-то с переменной id
перед запросом пишу
echo $id;
он ничего не выводит...
может как то из пердыдущего файла где находится форма передать переменную id, мне кажется он её не передаёт?
Спустя 9 минут, 54 секунды (27.11.2010 - 18:15) twin написал(а):
Любопытная история... Попов учит делать сайты, на которых нужно выкладывать уроки. Эти уроки должны писать те, кто не может разобраться в поповском коде...
Я прозрел. Он не дурак. Он гений. Он всю страну на таком тонком стебе обул...
Снесу наверно я наверное это, прямо как то по децки попался.
Нет, не снесу. Жалко пацанов.
Я прозрел. Он не дурак. Он гений. Он всю страну на таком тонком стебе обул...
Снесу наверно я наверное это, прямо как то по децки попался.

Нет, не снесу. Жалко пацанов.
Спустя 21 минута, 21 секунда (27.11.2010 - 18:36) Guest написал(а):
блин... походу я не с того PHP учить начал=(
Спустя 21 минута, 7 секунд (27.11.2010 - 18:57) Guest написал(а):
Блин... ну ребята... ну может Кто возьмётся мне помочь... могу исходники 2-ух страниц прислать с формой и с обработчиком с БД.
Ни как не могу победить в чём ошибка.
Ни как не могу победить в чём ошибка.
Спустя 13 минут, 42 секунды (27.11.2010 - 19:11) twin написал(а):
Брось. Как малое дитя всяку дрянь в рот тянешь. Потрать немного времени и научись нормально. В этом дерьме нет желания рыться.
Лучше день потерять, потом за пять минут долететь. (с)
Лучше день потерять, потом за пять минут долететь. (с)