Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 14:03   #1
Alexander1311
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 40
По умолчанию страница редактирования новостей PHP

здравствуйте!!!При написании странички редактирования новостей возникла проблема,планировалось что на страницу будут выводится все новости из БД, а при выборе конкретной(при клике) должна выводится новость в форме для редактирования.При этом все должно происходить на одной странице,но к сожалению функция if не срабатывает и при клике форма не выводится((
вот код который я прописал:

PHP код:
if (!isset ($id))
{
$result mysql_query("SELECT title,id FROM news");      
$myrow mysql_fetch_array($result);

do 
{
printf ("<p><a href='admin_edit_news.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}

while (
$myrow mysql_fetch_array($result));

}

else
{

$result mysql_query("SELECT * FROM news WHERE id=$id");      
$myrow mysql_fetch_array($result);

print <<<HERE
                 <h2>Редактировать новость :</h2>
             <p><form action="update_news.php" method="POST">
             <p>Название :<br>
             <input name="title" id="title" type="text" size="50" value="
$myrow [title]"> </p>
             <p>Краткое описание :<br>
             <input name="meta_d" id="meta_d" type="text" size="50" value="
$myrow [meta_d]"> </p>
             <p>Ключевые слова :<br>
                <input name="meta_k" id="meta_k" type="text" size="50" value="
$myrow [meta_k]"> </p>      
             <p>Дата :<br>
                <input name="date" id="date" type="text" value="
$myrow [date]"></p>
             <p>Маленькая картинка для главной страницы (100x130 без тегов!) :<br>
                <input name="mini_img" type="text" size="50" value="
$myrow [mini_img]"></p>
             <p>Маленькое описание для главной страницы:<br>
             <textarea name="discription_index" id="discription_index" cols="60" rows="5" maxlength="150" value="
$myrow[discription_index]"></textarea> </p>
             <p>Краткое описание:<br>
             <textarea name="discription" id="discription" cols="60" rows="20" maxlength="1500" value="
$myrow [discription]"></textarea> </p>
             <p>Tекст:<br>
             <textarea name="text" id="text" cols="60" rows="40" value="
$myrow [text]"></textarea> </p>
             <input name="id" type="hidden" value="
$myrow [id]">
             <input type="submit" value="внести изменения">
              </form> </p>
HERE;

подскажите в чем проблема заранее благодарен!!!!

Последний раз редактировалось Alexander1311; 04.04.2012 в 14:14.
Alexander1311 вне форума Ответить с цитированием
Старый 04.04.2012, 14:07   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,159
По умолчанию

что есть $id откуда он здесь берется? ... судя по всему $id не существует при выполнении данного скрипта ...
ADSoft на форуме Ответить с цитированием
Старый 04.04.2012, 14:16   #3
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Alexander1311 Посмотреть сообщение
но к сожалению функция if не срабатывает и при клике форма не выводится((
Цитата:
printf ("<p><a href='admin_edit_news.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
Надо полагать, в вашем условии нужно использовать не просто $id - а $_GET['id'].
Andkorol вне форума Ответить с цитированием
Старый 04.04.2012, 14:20   #4
Alexander1311
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 40
По умолчанию

я знаю что проблема в $id но я думал что она подставляется в эту строчку<a href='admin_edit_news.php?id=%s'>
извините что задаю глупые вопросы но я пока не силен в php.
подскажите как правильно прописать?
Alexander1311 вне форума Ответить с цитированием
Старый 04.04.2012, 14:30   #5
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,159
По умолчанию

смотри предыдущий пост....
и рекоментовал бы $id = intval($_GET['id']) чтобы исключить SQL иньекции
ADSoft на форуме Ответить с цитированием
Старый 04.04.2012, 14:35   #6
Alexander1311
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 40
По умолчанию

если вам не трудно можете прописать исправление прямо в коде а то у меня не получается))

вот примерно так???? if (!isset ($id)) заменить на if (!isset ( $_GET['id']))

Последний раз редактировалось Alexander1311; 04.04.2012 в 14:53.
Alexander1311 вне форума Ответить с цитированием
Старый 04.04.2012, 14:53   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Alexander1311 Посмотреть сообщение
Andkorolесли вам не трудно можете прописать исправление прямо в коде а то у меня не получается))
Что там может не получиться???
Добавьте в начало скрипта вариант, предложенный ADSoft - и всё.
Детский сад, блин...
Andkorol вне форума Ответить с цитированием
Старый 04.04.2012, 15:18   #8
Alexander1311
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 40
По умолчанию

извините,но при добавлении предложенного варианта срабатывает else и на страницу выводится форма.
Alexander1311 вне форума Ответить с цитированием
Старый 04.04.2012, 15:24   #9
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

!isset() в условии замените на empty():
PHP код:
$id = (!empty($_GET['id'])) ? intval($_GET['id']) : 0;
if(empty(
$id)){
// ваш дальнейший код в условии ... 
Andkorol вне форума Ответить с цитированием
Старый 04.04.2012, 15:41   #10
Alexander1311
Пользователь
 
Регистрация: 29.03.2012
Сообщений: 40
По умолчанию

все сделал, но снова выводится форма вместо заголовков
Alexander1311 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Веб страница с вводом 7-ми чисел и нахождением наименьшего из них (html или php) Kradmy Помощь студентам 2 05.02.2012 14:58
Необходимо создать простой PHP скрипт рассылки новостей kutt Фриланс 1 13.12.2011 22:25
Архив новостей. Вывод титла новостей по категориям. Gauss PHP 12 10.03.2011 06:11
Функции php редактирования баз MySQL KLAXON PHP 11 04.03.2011 21:39
Реализация редактирования БД из браузера в php kaviga PHP 12 10.01.2010 23:08