Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не выводит

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
FRIK
Отправлено: 30 Января, 2012 - 15:34:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1.  
  2. <?/*
  3. Шаблон главной страницы
  4. =======================
  5. $title - заголовок
  6. $content - содержание
  7. */?>
  8.  
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  10. <html>
  11. <head>
  12.         <title>Веб-Гуру</title>
  13.         <meta content="text/html; charset=Windows-1251" http-equiv="content-type">
  14.         <link rel="stylesheet" type="text/css" media="screen" href="theme/style.css" />
  15. </head>
  16. <body>
  17.         <img src="theme/wg.png" />
  18.         <br/>
  19.         <a href="index.php">Главная</a> |
  20.         <a href="editor.php">Консоль редактора</a>
  21.         <hr/>
  22.         <h1>Редактирование</h1>
  23.         <form method="post">
  24.                 Название:
  25.                 <br/>
  26.                 <input type="text" name="title" value="<?PHP echo $title; ?>" />
  27.                 <br/>
  28.                 <br/>
  29.                 Содержание:
  30.                 <br/>
  31.                 <textarea name="content"><?PHP echo $content; ?></textarea>
  32.                 <br/>
  33.                 <input type="submit" value="Редактировать" />
  34.         </form>
  35.         <hr/>
  36. </body>
  37. </html>
  38.  


это я подключаю к скрипту обработчику! там все ровно, хотя может и нет но все таки посмотрите вот этот шаблон! Проблема в том что не название, не содержание из базы данных не выводит хотя все запросы правильно и в переменных
$title -название
$content - содержание
в них вроде как точно хранятся данные из БД
если то что я скинул сюда правильно вывожу, то значит скину код обработчика может там какая проблема! Помогите, пожалуйста, а то воткнулся, не могу понять почему не выводит!
 
 Top
Зверь
Отправлено: 30 Января, 2012 - 16:00:33
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011  


Помог: 7 раз(а)





Чего говорит?
 
 Top
FRIK
Отправлено: 30 Января, 2012 - 16:05:36
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)

[+]


NULL NULL
блин значит почему то из базы данных не выводит инфу((
функция вывода
PHP:
скопировать код в буфер обмена
  1.  
  2. function articles_get($id)
  3. {
  4.     $res = mysql_query('SELECT * FROM stati WHERE id='.$id.'');
  5.     if(!res)
  6.         die('Ошибка базы данных: ' .mysql_error());
  7.     $stat = mysql_fetch_assoc($res);
  8.     return $stat;
  9. }
  10.  


использую функцию вот так
PHP:
скопировать код в буфер обмена
  1.  
  2.         articles_get($_GET['id']);
  3.         $title = $stat['name'];
  4.         $content = $stat['text'];
  5.  


может тут что не так?
 
 Top
etoYA
Отправлено: 30 Января, 2012 - 16:26:36
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




PHP:
скопировать код в буфер обмена
  1. $res = mysql_query("SELECT * FROM `stati` WHERE `id`='$id'") or die(mysql_error());

попробуй так
 
 Top
FRIK
Отправлено: 30 Января, 2012 - 16:28:57
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)

[+]


Все равно((

Что еще можете посоветовать как исправить?

Что самое интересное и ошибки не выдает и не выводит значит он думает что поля пустые хотя поля не пустые!

(Отредактировано автором: 30 Января, 2012 - 16:32:45)

 
 Top
Зверь
Отправлено: 30 Января, 2012 - 16:32:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011  


Помог: 7 раз(а)




FRIK пишет:
NULL NULL
блин значит почему то из базы данных не выводит инфу((
функция вывода
PHP:
скопировать код в буфер обмена
  1.  
  2. function articles_get($id)
  3. {
  4.     $res = mysql_query('SELECT * FROM stati WHERE id='.$id.'');
  5.     if(!res)
  6.         die('Ошибка базы данных: ' .mysql_error());
  7.     $stat = mysql_fetch_assoc($res);
  8.     return $stat;
  9. }
  10.  


использую функцию вот так
PHP:
скопировать код в буфер обмена
  1.  
  2.         articles_get($_GET['id']);
  3.         $title = $stat['name'];
  4.         $content = $stat['text'];
  5.  


может тут что не так?


Естественно, надо же сначала идентифицировать переменную $stat
PHP:
скопировать код в буфер обмена
  1.  
  2.         $stat = articles_get($_GET['id']);
  3.         $title = $stat['name'];
  4.         $content = $stat['text'];
  5.  

У функций своя область видимости и все переменные внутри нее не доступны извне, если не объявлены глобальными, в общем return $stat; лишь возвращает значение $stat, а не саму переменную

Можно, например, даже вот так

PHP:
скопировать код в буфер обмена
  1.  
  2. function articles_get($id)
  3. {
  4.     $res = mysql_query('SELECT * FROM stati WHERE id='.$id.'');
  5.     if(!res)
  6.         die('Ошибка базы данных: ' .mysql_error());
  7.     return  mysql_fetch_assoc($res);
  8. }
  9.  

Смысл один

(Отредактировано автором: 30 Января, 2012 - 16:34:44)

 
 Top
Мелкий Супермодератор
Отправлено: 30 Января, 2012 - 16:35:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




FRIK пишет:
может тут что не так?

Само собой, не так.

FRIK пишет:
if(!res)

раз.
FRIK пишет:
articles_get

два
FRIK пишет:
articles_get($_GET['id']);

FRIK пишет:
WHERE id='.$id.'');

три. Эта, впрочем, - только ошибка безопасности.


-----
PostgreSQL DBA
 
 Top
FRIK
Отправлено: 30 Января, 2012 - 16:35:37
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)

[+]


Все равно не выводит(
(Добавление)
да безопасность щас не к чему это просто тестовый скрипт учусь про безопасность я буду волноваться чуть позже щас бы как нибудь сделать что бы вывело
 
 Top
Зверь
Отправлено: 30 Января, 2012 - 16:38:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011  


Помог: 7 раз(а)




$stat = mysql_fetch_assoc($res);
Что здесь вообще есть?
var_dump($stat);
 
 Top
FRIK
Отправлено: 30 Января, 2012 - 16:41:43
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)

[+]


$res = mysql_query('SELECT * FROM stati WHERE id='.$id.'');

выбираю таблицу с id $id

там есть поля id name text
и в name и text хранится текстовая информация

но почему то не выводит из базы данных не чего! Он вообще не видит информации в этих полях!
 
 Top
Зверь
Отправлено: 30 Января, 2012 - 16:43:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011  


Помог: 7 раз(а)




Да это понятно, ты покажи var_dump($stat);
Там скорее всего массив многомерный

Ну вот например вот так

print_r(articles_get(1));

(Отредактировано автором: 30 Января, 2012 - 16:46:55)

 
 Top
FRIK
Отправлено: 30 Января, 2012 - 16:46:18
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)

[+]


выдает NULL
 
 Top
Зверь
Отправлено: 30 Января, 2012 - 16:49:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011  


Помог: 7 раз(а)




mysql_fetch_assoc()
Вроде как не возвращает null, либо false либо массив, так что ты где-то не там смотришь)

Если непонятно, сделай вот так print_r(articles_get(1)); при условии что запись с id 1 уже существует

(Отредактировано автором: 30 Января, 2012 - 16:50:18)

 
 Top
FRIK
Отправлено: 30 Января, 2012 - 16:53:58
Post Id


Частый гость


Покинул форум
Сообщений всего: 133
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)

[+]


Array ( [id] => 1 [name] => Новая ст [text] => Новый текст статьи )

вот что вывело
 
 Top
Зверь
Отправлено: 30 Января, 2012 - 17:00:17
Post Id



Частый гость


Покинул форум
Сообщений всего: 243
Дата рег-ции: Окт. 2011  


Помог: 7 раз(а)




Или я туплю или лыжи не едут, но

PHP:
скопировать код в буфер обмена
  1. function articles_get($id)
  2. {
  3.     $res = mysql_query('SELECT * FROM stati WHERE id='.$id.'');
  4.     if(!res)
  5.         die('Ошибка базы данных: ' .mysql_error());
  6.     $stat = mysql_fetch_assoc($res);
  7.     return $stat;
  8. }
  9.  
  10. $stat = articles_get($_GET['id']);
  11. $title = $stat['name'];
  12. $content = $stat['text'];
  13.  

должен работать...

И вообще, $_GET['id'] существует?
Попробуй так, чтоли
PHP:
скопировать код в буфер обмена
  1.  
  2. $stat = (isset($_GET['id'])) ? articles_get($_GET['id']) : articles_get(1);
  3. $title = $stat['name'];
  4. $content = $stat['text'];
  5.  

(Отредактировано автором: 30 Января, 2012 - 17:01:15)

 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB