Avatar billede kbisgaard Nybegynder
23. marts 2011 - 15:07 Der er 7 kommentarer og
1 løsning

Funktioner i database?

Hej alle

Jeg har en hjemmeside, hvor jeg har lavet en admin side, så det er muligt at rette indholdet på hver enkelt side via browseren. Den fungerer ved at indsætte formdata i en mysql database. Nu er mit problem, at jeg gerne vil have nogle specielle funktioner på nogle af siderne, så det har jeg gjort ved at "include" en fil functions.php hvori jeg har defineret en funktion med de egenskaber jeg gerne vil have på siden. Ideen er, at jeg ind i textboxen hvor jeg retter indholdet på siden vil skrive <?php echo news(); ?>. Det havde jeg håbet på ville resultere i, at min news funktion ville fremkomme på den pågældende side. Det er ikke tilfældet. Hvis jeg åbner siden og kigger i kildekoden, kan jeg se "<?php echo news(); ?>" med grønt som om det var en kommentar i koden?

Er der nogen som har en ide til en løsning? :)
Avatar billede michael_stim Ekspert
23. marts 2011 - 16:29 #1
Hvor tester du? Lokalt? Webhotel? Det ser ikke ud til at der er PHP på webserveren i hvert fald.
Avatar billede showsource Seniormester
23. marts 2011 - 17:20 #2
Du kan ikke gemme phpkode i db, og siden forvente at den bare afvikles ved udtræk.
Du er nødt til at bruge eval() for at afvikle phpkode fra db.
http://dk.php.net/manual/en/function.eval.php

Og det er umiddelbart ingen go' ide !!!!!
Avatar billede michael_stim Ekspert
23. marts 2011 - 19:31 #3
#2
Er det det der menes i spørgsmålet? Dette er sådan set også til opretter (eller måske mest) ;o)
Avatar billede showsource Seniormester
23. marts 2011 - 19:40 #4
jahhh,
"Ideen er, at jeg ind i textboxen hvor jeg retter indholdet på siden vil skrive <?php echo news(); ?>................."

Altså, phpkode skrives i et textfelt, gemmes i db, og skal ved udtræk fra db afvikles som phpkode.

Er da hvad jeg er overbevist om at spm. stiller spørger om :O)
Avatar billede kbisgaard Nybegynder
23. marts 2011 - 19:54 #5
Ja showsource. det er præcis det jeg mener.. jeg har prøvet med eval(), men kan ikke få det til at virke.
Avatar billede showsource Seniormester
24. marts 2011 - 05:16 #6
$vis = mysql_fetch_object($query);
eval("?>". $vis->feltnavn ."<?php ");
Avatar billede arne_v Ekspert
27. marts 2011 - 01:47 #7
Bemærk at brug af eval på den måde har en del spørgsmål omkring sikkerhed som skal overvejes!
Avatar billede kbisgaard Nybegynder
27. marts 2011 - 14:01 #8
Tak for svaret
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester