За последние 24 часа нас посетили 16422 программиста и 1677 роботов. Сейчас ищет 821 программист ...

Как вывести из MySql php-скрипт, чтобы он исполнялся?

Тема в разделе "PHP для новичков", создана пользователем programer, 18 авг 2009.

  1. programer

    programer Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    58
    Симпатии:
    0
    В ячейке таблицы хранится:
    PHP:
    1. <?php echo "Текст"; ?>
    Мне нужно вывести и исполнить этот скрипт на странице.
    PHP:
    1. <?php
    2. $connection = mysql_connect ("***", "***", "***")
    3.  or die ("Ошибка соединения с сервером");
    4.  
    5. $db = mysql_select_db ("***", $connection)
    6.  or die ("Ошибка при выборе базы данных");
    7.  
    8. $query = "SELECT * FROM table";
    9. $result = mysql_query ($query)
    10.  or die ("Ошибка при выполнении запроса: ".mysql_error());
    11.  
    12. $row = mysql_fetch_array ($result);
    13.  
    14.  
    15.  
    16.  
    17. Если выводить так:
    18.  
    19. echo $row['name'];  // где row['name'] - ячейка, в которой хранится скрипт
    20.  
    21. ?>
    то на странице отобразится:
    HTML:
    1. <?php echo "Текст"; ?>
    А мне, разумеется, нужно, чтобы выводилось "Текст".
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Что за бред. Это откуда у вас такая задачка?

    // Выполнить код, не вопрос - eval()
     
  3. programer

    programer Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    58
    Симпатии:
    0
    Из головы )))
    В ячейках базы данных будут храниться новости (текст с переменными).
    Одна и та же новость будет выводится на разных страницах сайта.
    В зависимости от страницы, где будет выводиться новость, значение переменных в новости будет изменяться.

    P.S: за eval() - спасибо
     
  4. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    programer
    бред
    eval в вашем случае может сыграть с вами злую шутку

    в БД нужно хранить данные а не переменные
    если уж так нужно записать в БД "объект", пиши массив при помощи serialize/unserialize
     
  5. programer

    programer Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    58
    Симпатии:
    0
    Mr.M.I.T., спасибо.
    А что плохого в eval?
     
  6. phpbidlo

    phpbidlo Активный пользователь

    С нами с:
    18 авг 2009
    Сообщения:
    49
    Симпатии:
    0
    можно без eval:
    Код (Text):
    1.  
    2. file_put_contents($tmp_file=tempnam(), $row['name']);
    3. include($tmp_file);
     
  7. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    phpbidlo
    ты регился чтобы написать такую глупость?
     
  8. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    на ник посмотри)
     
  9. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    маразм крепчал
     
  10. phpbidlo

    phpbidlo Активный пользователь

    С нами с:
    18 авг 2009
    Сообщения:
    49
    Симпатии:
    0
    Возможно автору подойдет такое решение. Используя include можно кешировать результат в файле, используя ID из БД.
    А почему глупость? Обоснуйте, чем это решение хуже EVAL.
    Приведите пожалуйста примеры правильной реализации задачи?
    Мне интересно, да и автору вероятно, чем читать ваши бессмысленые и необоснованые коментарии.
     
  11. kostyl

    kostyl Guest

    Блин, откуда эти все посты про евал скрипта из базы данных? На харбе вроде прошла такая штука, на сколько я помню...
    Но блин не надо ж так фанатеть люди!!!
    Мож это Попов начал задвигать каким то "улучшеным курсом"?
    phpbidlo
    programer
    Все это фигня, берите скрипты из файлов. Не храните в базе шаблоны. И будет вам хорошо.
     
  12. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    1. eval запускает интерпритатор php заново.
    2. не возможность кеширования данных ускорителями
    3. тяжело править код. нужно писать отдельные модули для работы с этим.
    4. наличие eval в коде показывает неумение или нежелание работать с алгоритмами и организацией данных, что показывает практически нулевой уровень вашего образования в этом вопросе.
    5. не все нужно пихать в базу.
    6. не все нужно пихать в файлы.
    7. не все нужно пихать вообще куда либо ибо может без этого можно обойтись?

    =)


    применительно к вашей задаче есть понятие ШАБЛОНИЗАТОРА и уж поверьте мне на слово, до вас над этой задачей потрудились не совсем тупые люди.
     
  13. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    phpbidlo
    тем, что это тот же евал
    и если туда какое-нить говно попадёт, система так же хорошо загнётся как и с евалом
    иди нафиг.
    =)
    иногда он выручает одной строчкой, вместо десятка
     
  14. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    я то пойду. не вопрос.

    приведи пример где он так выручает?
     
  15. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    напиши скрипт выводящий свой собственный код без исползования внешних данных/файлов. Если делать через жопу и без printf
     
  16. phpbidlo

    phpbidlo Активный пользователь

    С нами с:
    18 авг 2009
    Сообщения:
    49
    Симпатии:
    0
    Это понятно, но вопрос то был про include.
    Например с помощью include я могу кешировать код в файлах, при этом будет возможность проверить код на ошибки или завернуть в функцию, чтоб она ничего не порушила.

    Это уже спорные вопросы, и опять пустые фразы без аргументации.

    Я конечно не прызываю использовать повсеместно eval и include, но если есть подобная задача, то решение вполне приемлимо.
    А разговоры что это плохо и так делать нельзя - это просто детский лепет и говорит лиш о повышеном ЧСВ.
     
  17. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    440Hz
    вот недано формКешер писал
    для получения значений из глоб. переменных, используется такое дело
    PHP:
    1.   protected static function Set($var,$value){
    2.       return eval('return $'.self::$reqmethod.'[$var]=$value;');
    3.   }
    4.   protected static function GetAll($method=null){
    5.       if(!$method) $method=self::$reqmethod;
    6.       return eval('return $'.$method.';');
    7.   }
    переменная-переменная - не подходит
    не обижайся ты, этож я так :)
     
  18. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    а что? $GLOBALS отменили?
     
  19. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    а-а-а- так ты таким способом таскаешь из $_GET $_POST?

    пипец. я много видел извратов, но такое впервые....

    мдя...

    куда все катиться...
     
  20. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    Напомнило Петросяна, какую-то старую миниатюру. Открывает сумку, достает кошелек, закрывает сумку, открывает кошелек, достает деньги, закрывает кошелек, открывает сумку, ложит туда кошелек, закрывает сумку, получает сдачу, открывает сумку, достает кошелек, закрывает сумку, открывает кошелек..............
     
  21. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    440Hz
    предложи свой вариант, в одну строчку.
     
  22. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Mr.M.I.T.
    PHP:
    1. <?php
    2. function get($var){
    3.     return $_REQUEST[$var]
    4. }
     
  23. programer

    programer Активный пользователь

    С нами с:
    22 авг 2008
    Сообщения:
    58
    Симпатии:
    0
    Спасибо, phpbidlo, за вариант.
     
  24. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    А какой смысл во всём этом запудривании железного мозга? Почему из самого скрипта нельзя обратиться просто к $_REQUEST[...] ?
     
  25. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Еще нужно не забывать удалять файлы после использования. В итоге это сказывается на производительности при большой нагрузке.