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
Форумы портала PHP.SU :: Версия для печати :: Ввод\вывод кода PHP из MySQL
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Ввод\вывод кода PHP из MySQL

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

1. SkaN - 10 Мая, 2011 - 12:15:24 - перейти к сообщению
План моих действий был таков: есть главная страница, с нее идет запрос к БД, содержащий ID страницы. По этому ID грузится остальная страница с исполняемым кодом и еще одним запросом к БД. Вроде бы все нормально, однако появилась проблема. Вот код, который грузится из БД:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $article_query = mysql_query("SELECT * FROM `articles`;");
  3. for ($c=0; $c<mysql_num_rows($article_query); $c++) {
  4.         $article_array = mysql_fetch_assoc($article_query);
  5.         echo '<h1><a href=index.php?id=article&article='.$article_array[id].'>'.$article_array[name].'</a></h1><br><p>'.$article_array[promo].'</p>';} ?>

Результат действий в аттаче
2. movEAX - 10 Мая, 2011 - 12:28:00 - перейти к сообщению
1) ; - ставить не надо в запросе
2) для обращения к строковому индексу нужно ставить кавычки: $article_array['name']
3) уверен что код вобще обрабатывается? нажми на странице ctrl+u, думаю, будешь удивлен
3. DeepVarvar - 10 Мая, 2011 - 12:31:36 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <p>'.eval($article_array[promo]).'</p>';

????
4. morosit - 10 Мая, 2011 - 12:33:53 - перейти к сообщению
Похоже загружаемый код находится вне тегов:
5. DeepVarvar - 10 Мая, 2011 - 12:34:30 - перейти к сообщению
Оу.. Сорри... Не то написал... Посмотрел в название темы и тупанул.
6. Zuldek - 10 Мая, 2011 - 12:39:55 - перейти к сообщению
Всё указанные выше поправки это незначительные недочёты.
Указанный кусок кода должен работать нормально.
Ищите ошибку в другом либо выведите настоящий исходник вашего php-файла целиком.
7. SkaN - 10 Мая, 2011 - 13:05:05 - перейти к сообщению
movEAX'у: действительно, код показывается просто как надпись. Но часть его все-таки обрабатывается...
Zuldek'у: вот файл, который вызывает:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. mysql_connect('localhost', 'root', '***');
  3. mysql_select_db('skan_blog');
  4. $page = (isset($_GET['id'])) ? $_GET['id'] : 'main';
  5. $page_sql = mysql_query("SELECT * FROM `pages` WHERE `id` = '$page';");
  6. $page_array = mysql_fetch_assoc($page_sql);
  7. function siteinfo($inputinfo) {
  8.         switch ($inputinfo) {
  9.                 case 'name':
  10.                         return 'SkaN Resourses';
  11.                         break;
  12.                 case 'logo':
  13.                         return '<img src="img/logo.jpg">';
  14.                         break;
  15.                 case 'description':
  16.                         return 'Записки сумасшедшего линуксоида';
  17.                         break;
  18.         }
  19. }
  20. ?>
  21. <html>
  22. <head>
  23. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  24. <title><?PHP echo $page_array[name].' | '.siteinfo('name'); ?></title>
  25. </head>
  26. <body>
  27. <?PHP echo $page_array[content]; ?>
  28. </body>
  29. </html>
8. morosit - 10 Мая, 2011 - 13:39:20 - перейти к сообщению
в базе у вас код хранится заключенный в <?php ?>
9. SkaN - 10 Мая, 2011 - 13:40:25 - перейти к сообщению
morosit пишет:
в базе у вас код хранится заключенный в <?php ?>

Да, в базе находится ровно такой код, который указан в первом посте
10. morosit - 10 Мая, 2011 - 13:43:09 - перейти к сообщению
попробуйте оставить только код, без <?php ?>
11. SkaN - 10 Мая, 2011 - 13:48:58 - перейти к сообщению
morosit пишет:
попробуйте оставить только код, без <?php ?>

аттач...
12. morosit - 10 Мая, 2011 - 14:01:06 - перейти к сообщению
Судя по выводу у вас код где-то выходит за рамки php
сначала у вас была такая структура


попробуйте подставить выводимый код на место где он должен выводится
13. SkaN - 10 Мая, 2011 - 14:07:52 - перейти к сообщению
morosit пишет:
попробуйте подставить выводимый код на место где он должен выводится

вставил, все работает. Структуры, которую вы предположили быть не могло, потому что, когда я попробовал подставить так вокруг кода, скрипт вообще перестал выполняться
14. SkaN - 12 Мая, 2011 - 10:52:11 - перейти к сообщению
Ну тут причиной всему моя неначитанность. Когда страница грузилась из БД, она не читалась как исполняемый код. eval() не было

 

Powered by ExBB FM 1.0 RC1