[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите кто чем может=)!!!
Гость_Александр
Здравствуйте товарищи программисты. Помогите пожалуйста.
Я пишу админ часть к своему сайту и столкнулся со следующей проблемой.
На данном этапе прописал скрипт редактирования содержащейся в базе данных, в таблице где содержится контент всех страниц, информации.
С базой соединяется, список страниц на сайте выводит... нажимаю по ним, по идее должна появиться форма редакт. заполненная инф-цией. А она не появляется =( ... хотя в условии вроде бы всё верно прописал.
Если переменная 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. Ссылок на них тут полно.

Спустя 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 напортачил.

Спустя 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 написал(а):
Ну посмотрим=))) у меня цель стать самым крутым КОДЕРОМ на свете=))) cool.gif
__________________
Блин, никак не могу решить эту проблему...=(

Спустя 47 минут, 40 секунд (26.11.2010 - 17:19) sixpoundeeer написал(а):
Сделайте вывод на экран того, что содержится в переменных непосредственно перед запросом. Убедитесь, что в $id содержится число, которое является идентификатором одной из строк.

Спустя 27 минут, 3 секунды (26.11.2010 - 17:46) inpost написал(а):
Пишем запрос правильно:
$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. В самом начале скрипта напиши эту строчку:
<?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, мне кажется он её не передаёт?

Спустя 9 минут, 54 секунды (27.11.2010 - 18:15) twin написал(а):
Любопытная история... Попов учит делать сайты, на которых нужно выкладывать уроки. Эти уроки должны писать те, кто не может разобраться в поповском коде...
Я прозрел. Он не дурак. Он гений. Он всю страну на таком тонком стебе обул...
Снесу наверно я наверное это, прямо как то по децки попался. sad.gif

Нет, не снесу. Жалко пацанов.

Спустя 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 написал(а):
Брось. Как малое дитя всяку дрянь в рот тянешь. Потрать немного времени и научись нормально. В этом дерьме нет желания рыться.

Лучше день потерять, потом за пять минут долететь. (с)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.