16. marts 2010 - 16:37Der er
12 kommentarer og 1 løsning
PHP og HTML gemt i MySQL, hvorefter sat ind på PHP side. Load PHPen efter indsættelse?
Hej Eksperter!
Jeg har lavet en slags CMS system til min kammerat, hvori han kan ændre teksten på alle sider osv.
Nu er det så kommet til at han gerne vil have noget sat ind på de forskellige sider, hvortil jeg har lavet ham en funktion i PHP som han kan sætte ind der hvor det passer ham.
Problemet er (som jeg ser på det) at når han gemmer PHP funktionen i MySQL'en, og PHP siden så derefter loader den igen, så loader den ikke PHP som PHP. Tror ikke det bliver sendt til serveren.
Dog hvis du skriver <?PHP echo "test"; ?> og gemmer det i MySQL, så bliver det ikke vist på siden.
Hvis nogen skulle være interesseret er her et eksempel på hvad han kunne sætte ind, hvor det så slet ikke bliver vist:
Jeg glemte i øvrigt at sige at jeg laver en mysql_real_escape_string() på teksten også, om det har noget at sige til det.?
Jeg ved ikke hvordan ellers bortset fra at bruge POST, og ikke GET, og bruge mysql_real_escape_string() og MD5 kryptering på passwords at jeg kan beskytte mig.
arne_v: Ved godt at mysql_real_escape_string() kun er mod SQL injection, men nævnte bare de sikkerheds ting jeg har på min side.
Ud fra hvad jeg kan se, der virker det som om at preg_replace_callback() er den der passer bedst til det behov jeg har, selvom eval() også er ret smart!
Har forsøgt mig lidt med den førstnævnte, og det ser sådan ud:
Først kunne jeg ikke lave en <div> uden om det der var i min funktion, så troede der var noget galt med min DIV.. Så fandt jeg ud af at det var ligemeget hvilket tag jeg brugte, og så undrede det mig virkelig meget!
Så kom jeg til at se at min funktion brugte echo "" i stedet for return til at retunere svaret. Så efter det blev ændret fra echo til return, virker alt fint igen!
zynzz: kom med et svar!
arne_v: Tak for hjælpen! Funktionen kan jeg helt sikkert bruge en anden gang, valgte bare ikke lige at bruge den i denne omgang. Men tak!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.