Avatar billede tipsen Nybegynder
13. juni 2003 - 00:43 Der er 3 kommentarer og
2 løsninger

include af db-indhold i stedet for fil.

Hej eksperter

Antag jeg har en fil ("test.php") som jeg har indsat i en database. Filen indeholder både alm tekst samt php-kode og for at få funktionaliteten fra evt. funktioner samt output fra filen benyttes i filen "index.php" include:

include 'test.php';

hvorefter filen test.php indsættes direkte i index.php og resultatet er (næsten) som hvis man bare havde copy-pastet filen direkte over på linien med include i index.php!

Hvordan gør jeg det samme med filen når den nu er placeret i databasen!? Dvs noget i retning af:

include 'SELECT indhold FROM tabel WHERE filnavn='test.php''

Jeg går ikke udfra jeg bare kan udskrive indholdet af feltet i index.php - eller kan jeg!?
Avatar billede myplacedk Nybegynder
13. juni 2003 - 07:15 #1
Hent kildekoden fra databasen ind i en variabel.
eval ('?>'.$fil);

eval() starter i PHP-mode, men include starter i "non-PHP-mode", derfor sætter jeg "?>" foran-
Avatar billede henan Nybegynder
14. juni 2003 - 14:27 #2
$sql = "SELECT indhold FROM tabel WHERE filnavn='test.php'";
$result = mysql_query($sql);
$numrows = mysql_num_rows($result);

if ($numrows > 0)
{
echo eval (" ?> " . mysql_result($result,0) . " <?php ");
}
Avatar billede myplacedk Nybegynder
14. juni 2003 - 14:43 #3
Eller hvis man bruger PEAR::DB:

$sql = "SELECT indhold FROM tabel WHERE filnavn='test.php'";
eval('?>'.$db->getOne($sql));

Det giver ikke den store mening at skrive "echo" foran "eval", da output fra eval() ikke bliver returneret, men bliver til normalt output, ligesom ved include.
Avatar billede henan Nybegynder
14. juni 2003 - 14:50 #4
myplacedk -> Du har helt ret med hensyn til echo... Den skal bare væk ;-)
Avatar billede tipsen Nybegynder
14. juni 2003 - 15:45 #5
Jeg siger tak for hjælpen til jer begge.
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