Autor Zpráva
pajan
Profil *
chtel sem se zeptat, zda je mozne spustit funkci ktera je ulozena v databazi.. napr. mam nejakou funkci ktera mi vypisuje seznam lidi a fu funkci mam ulozenou v databazovy tabulce s dalsim html kodem..kdyz dam vypsat obsah tabulky pres mysql_fetch_object tak se vypise obsah tabulky a funkce je normalne v textovy podobe..nijak se nespusti. Zkousel jsem funkci eval() ale ta mi vygeneruje jen promenne a ne funkci. Muzete mi nekdo prosim poradit jak nato?
Mastodont
Profil
Tohle funguje:

$var = 'function pokus($promenna) { echo $promenna; } pokus("nazdar pane");';

eval($var);
pajan
Profil *
no ale kdyz to dam do databaze tak to nefunguje

pokud je vypis takovyto

$sql = "SELECT * FROM a " ;
$q = mysql_query($sql);
$line = mysql_fetch_object($q);

$var = $line->a;

eval($var);

a v tabulce a je ulozeno pokus("nazdar pane"); a pak jeste pred tim a zatim nejaky text(html) tak to hodi error.
Mastodont
Profil
pajan

No a máš tam uloženou i definici té funkce?
pajan
Profil *
definice funkce je icludnuta.
Mastodont
Profil
pred tim a zatim nejaky text(html)

A to pokus("nazdar pane"); máš uzavřené mezi tagy <?php a ?> nebo ne? Nemůžeš PHP házet přímo do HTML.
pajan
Profil *
no neni to uzavreny v ty db. ale dyz to je uzavreny tak to taky hazi error. uz mam preci jedny tagy dyz vypisuju tu tabulku a eval() by melo zaridit pokud tam je naka promenna v textu ze vypise jeji hodnotu, ale u funkce sem zatim neprisel jak to udelat..
Toto téma je uzamčeno. Odpověď nelze zaslat.

0