X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не определяет идентификатор
Banderas
Banderas
Topic Starter сообщение 10.2.2011, 2:05; Ответить: Banderas
Сообщение #1


Пишу редактор статей, код

[php] <?php

if (!isset($id)) {

$result = mysql_query("SELECT id,title FROM articles");

$myrow = mysql_fetch_array($result);



do {

printf ("<hr><a href='edit_article.php?id=%s'>%s</a></br>", $myrow['id'], $myrow['title']);

}

while ($myrow = mysql_fetch_array($result));

} else {

echo '$id'.$id;

$result = mysql_quert("SELECT * FROM articles WHERE id=$id");

$myrow = mysql_fetch_array($result);



print <<<HTML

<form action='update_article.php' method='post'>

Введите название статьи</br>

<input value=$myrow[title] type='text' name='title' /></br>

<input value=$myrow[id] type='text' name='id' /></br>

Введите содержание статьи</br>

<textarea value=$myrow[text] name='text' cols='50' rows='12'></textarea></br>

<input type='submit' name='submit' value='Редактировать статью' />

</form>

HTML;

}

?>[/php]


Делаю пока что по уроку, в котором Попов говорит, что должна создаваться переменная $id, но я даже не знаю откуда она должна взяться, наверно с $myrow['id'], но ничего не создается....


По алгоритму должно быть так, на странице edit_article.php выводится список статей, при клике мы переходи на страничку edit_article.php?id=$myrow['id'], где $myrow['id'] - идентефикатор статьи. Если идентефикатор уже существует, тоесть задан (1,2,3, ... ), то переходим на страницу редактирования статьи, с этим идентефикатором. Вроде все, спасибо =)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 10.2.2011, 8:17; Ответить: sc2r2bey
Сообщение #2


[php]$result = mysql_quert("SELECT * FROM articles WHERE id=$id");[/php]поуствуй разницу

[php]$result = mysql_query("SELECT * FROM articles WHERE id=$id");[/php]


так id надо получить из $_GET['id'] наверное?

[php]$id=intval($_GET['id']);[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
Topic Starter сообщение 10.2.2011, 9:51; Ответить: Banderas
Сообщение #3


То куда вставить этот???
[php]$id=intval($_GET['id']);[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 10.2.2011, 11:31; Ответить: sc2r2bey
Сообщение #4


перед
[php]if (!isset($id)) {[/php]

но у тебя весь код коряво написан


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
Topic Starter сообщение 10.2.2011, 16:50; Ответить: Banderas
Сообщение #5


Спасибо, уже увидел..((
Поправил код, нормально открывает страницы редактирования статьи, но данные не выводятся или выводятся частично и криво. Понял что ошибка теперь между тегами <<<HTML плохой код HTML;
Как мне исправить? И какую функцию посоветуете использовать?
[php] <?php
$id = intval($_GET['id']); // создал переменную
if (empty($id)) { // проверяем заполнена ли она
$result = mysql_query("SELECT id,title FROM articles");
$myrow = mysql_fetch_array($result);

do {
printf ("<hr><a href='edit_article.php?id=%s'>%s</a></br>", $myrow['id'], $myrow['title']);
}
while ($myrow = mysql_fetch_array($result));

} else {
$result = mysql_query("SELECT * FROM articles WHERE id='$id'");
$myrow = mysql_fetch_array($result);


print <<<HTML
<form action="update_article.php" method="post">
Введите название статьи</br>
<input value="$myrow[title]" type="text" name="title" /></br>
Введите ключи</br>
<input value="$myrow[meta_k]" type="text" name="metak" /></br>
Введите мета-описание</br>
<input value="$myrow[meta_d]" type="text" name="metad" /></br>
Введите автора</br>
<input value="$myrow[author]" type="text" name="author" /></br>
Дата добавления статьи (yyyy-mm-dd)</br>
<input value="$myrow[date]" type="text" name="date" /></br>
<input value="$myrow[id]" type="hidden" name="id" /></br>
Введите краткое содержание статьи</br>
<textarea value="$myrow[description]" name="description" cols="50" rows="12"></textarea></br>
Введите содержание статьи</br>
<textarea value="addslashes($myrow[text])" name="text" cols="50" rows="12"></textarea></br>
<input type="submit" name="submit" value="Редактировать статью" />
</form>
HTML;
}
?>[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
almatar
almatar
сообщение 10.2.2011, 16:56; Ответить: almatar
Сообщение #6


Внимательней изучайте курс, там всё подробно и детально показано.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Banderas
Banderas
Topic Starter сообщение 10.2.2011, 17:15; Ответить: Banderas
Сообщение #7


В курсе много ошибок. К тому же он работает на дримвивере, а я в нотпаде. К томуже у меня вывод форм как в курсе...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 10.2.2011, 17:24; Ответить: sc2r2bey
Сообщение #8


не важно в чем ты работаешь, важно, что у тебя голове
ну например:
[php]<textarea value="$myrow[description]" name="description" cols="50" rows="12"></textarea>[/php]
полное незнание html и php, двоечник
надо так:
[php]<textarea name="description" cols="50" rows="12">".$myrow[description]."</textarea>[/php]
а тут:
[php]<input value="$myrow[date]" type="text" name="date" /></br>[/php]
надо:
[php]<input value="".$myrow[date]."" type="text" name="date" /></br>[/php]

ну еще экранировать надо кавычки


--------------------
Заметки о разработке и не только
программирую web и для we


Поблагодарили: (0)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 13.2.2011, 15:31; Ответить: ZiTosS
Сообщение #9


Banderas,
Поправил код, нормально открывает страницы редактирования статьи, но данные не выводятся или выводятся частично и криво. Понял что ошибка теперь между тегами <<<HTML плохой код HTML;

про $_GET тебе сказали не верно. Всё зависит от типа, которым передаются данные, бывают разные. Самые распространенные из них GET и POST. У тебя в коде используется POST, посмотри на атрибут method тега form
<form action='update_article.php' method='post'>

Используй $_POST['id'].

Как мне исправить? И какую функцию посоветуете использовать?

Как выодить данные, всё зависит от человека. Я всегда использую echo + sprintf где нужно. Советую не сразу бросаться выводить данные на экран. А сначала записывать их в какую-нить переменную, заполнять её. Если нужно будет, затем можно эти данные отформатировать по нужному алгоритму, а затем уже вывести на экран.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 28.3.2024, 15:12
Дизайн