php код в базу данных

Тема в разделе "Базы данных", создана пользователем guru85, 10 сен 2011.

Модераторы: latteo
  1. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    Есть база данных mysql/ в таблице строка тип varchar(255), хочу добавить туду маленький php код к примеру
    PHP:
    <? echo $itog;?>
    , так то вроде добавляет, но на сайте отображает его вот так и он не работает <!--? echo $itog; ?--> как это поравить. спасибо. з.ы. добавляю руками через phpmyadmin
     
  2. mcdir

    mcdir

    Регистр.:
    6 ноя 2007
    Сообщения:
    202
    Симпатии:
    37
    евалить нуна
    (eval($что_выбрал_из_базы))
    а в общем храть в базе код очень плохой тон и все цмс которые это использовали от этого отходят
     
  3. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    а если нет доступа к скрипту. только к базе данных, нереально решить проблемму?
     
  4. efs

    efs SEO оптимизатор дискрипторов одностраничных сайтов

    Moderator
    Регистр.:
    20 ноя 2009
    Сообщения:
    826
    Симпатии:
    480
    две минуты гугла
     
  5. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    296
    Симпатии:
    438
    Движок, который ты используешь, комментирует (<!-- -->) php-код. Пример правильного решения (предполагается, что в переменную $code записан необходимый код:(
    PHP:
    <? echo "<pre>".htmlspecialchars($code)."</pre>" ?>
     
    guru85 нравится это.
  6. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    не пашет, во че делает сним
    PHP:
    <!--? echo "<pre-->".htmlspecialchars($code)."" ?&gt
     
  7. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    628
    Симпатии:
    1.388
    Выше уже дан ответ. Постараюсь его разжевать...
    Т.е. предполагается, что нужный php-код уже был записан в базу...
    например так
    PHP:
    mysql_query("INSERT INTO `table` (`name_field`) VALUES('echo"Helloworld!";')");
    А после этого считан с базы и помещен в переменную $code
    PHP:
    $r mysql_fetch_assoc(mysql_query("SELECT `name_field` FROM `table` WHERE `id`=".$id));
    $code $r['name_field'];
    Вот уже после этого можно выполнить
    eval($code);
    P.S. Если функция eval() отключена в целях безопасности, тогда делаем так...
    PHP:
    $code = "<? ".$code." ?>";
    $t = time();
    file_put_contents($t.'.php', $code);
    include($t.'.php');
    unlink($t.'.php');
     
  8. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    евал не функция, а конструкция языка, ее нельзя отключить как обычные функции, но можно с помощью сухосина, но на такие извраты
    мало кто поидет....
    А вообще было бы не плохо если бы ТС еще выложил бы и сам скрипт, которым он тут пытается рулить из базы.
    Возможно там и нет евала во все...
     
  9. guru85

    guru85 Постоялец

    Регистр.:
    24 мар 2010
    Сообщения:
    134
    Симпатии:
    3
    дело в том, что нет у меня доступа к скрипту, есть только к базе, мне надо было добавить туда код php, но видимо это невозможно.
     
  10. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    Из того что ты написал выше, вполне возможно предположить что скрипт просто выводит данные из базы а не исполняет их


    Можешь еще глянуть, на те ячейки в базе где есть локальные пути( что то типа /home/user/public_html/pluggin.php)
    до файлов.
    Вполне может оказаться что эти файлы либо инклюдятся либо читаются.