Avatar billede hewa Nybegynder
21. januar 2007 - 14:09 Der er 10 kommentarer og
1 løsning

PHP kaldt med PHP fra en database

Hej.

Jeg har en stump php kode, som jeg kalder fra en database med php kode. Hvis jeg bruger det uden det kommer fra databasen, virker det fint, men samme øjeblik jeg kalder det fra databasen, er der noget der går i knold. Det virker som om, den godt vil sluge den øverste del af koden, men den nederste kommer ud som som om det var tekst.

Er der noget, jeg skal tage højde for, når jeg gør det?
Skal jeg f.eks. undlade <? ?>, når jeg gør det sådan?
(det har jeg prøvet, men det ville heller ikke rigtig)
Avatar billede hejmanden Nybegynder
21. januar 2007 - 14:13 #1
jeg har noget af det samme problem, vi har en lille debat i gang her http://www.eksperten.dk/spm/757314
Avatar billede hewa Nybegynder
21. januar 2007 - 14:15 #2
Så holder jeg lige øje med din tråd også ;-)
Tak for hintet.
Avatar billede hewa Nybegynder
21. januar 2007 - 15:58 #3
hejmanden, jeg kan ikke gennemskue, hvad du fandt frem til?
Avatar billede hejmanden Nybegynder
21. januar 2007 - 16:49 #4
At man skulle bruge funktionen eval()

echo eval("?>". $row["kode"] ."<?php ");
Avatar billede hejmanden Nybegynder
21. januar 2007 - 16:50 #5
For at afvikle kode gemt i din DB, eval()

$fs = mysql_query("SELECT kode,menuKode FROM kode WHERE id = ". $_GET["id"] ." LIMIT 1") or die(mysql_error());
if(mysql_num_rows($fs) == 1){

$row = mysql_fetch_array($fs);
eval("?>". $row["menuKode"] ."<?php ");

}else{

echo '<div id="headline">Fejl</div>Siden du søger findes ikke';

}


Det var det svar som jeg fik fra showsource. og det virkede :)
Avatar billede hewa Nybegynder
21. januar 2007 - 17:28 #6
Men jeg har prøvet til med den eval-ting, men selv en simpel echo, kan jeg ikke få til at virke... selvom jeg har prøvet alle mulige kombinationer. Min echo kommer blot ud som tekst, uanset hvordan jeg har anvendt den... f.eks denne:
eval("?>". echo "test!"; ."<?php ");

Kan du gennemskue hvorfor?
Avatar billede hejmanden Nybegynder
21. januar 2007 - 18:59 #7
eval("?>". $row["databaseudtraek"] ."<?php ");

og når du i din database vil udskrive noget php så skal du skrive i databasen

<?
echo "hej";
?>
Avatar billede hewa Nybegynder
21. januar 2007 - 19:19 #8
Åhhh, nu forstår jeg :-)
Men kan jeg så altid bruge eval, om der er php i databasen eller ej?
- det ser sådan ud, men kan der mon være nogen "faldgruber" i det?
Avatar billede hejmanden Nybegynder
21. januar 2007 - 22:29 #9
ja det kan du, den kan godt skrive det selvom der ikke er php i
Avatar billede hewa Nybegynder
22. januar 2007 - 17:29 #10
Jamen du rendte jo så med pointene, så smid et svar :)
Avatar billede hejmanden Nybegynder
22. januar 2007 - 18:00 #11
mig ? xD
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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