Avatar billede zeiox Nybegynder
21. december 2003 - 10:46 Der er 11 kommentarer og
1 løsning

Hvordan gør jeg sådan at jeg kan hente php kode ud fra database ?

Kære Eksperter

Jeg har et script så når jeg skriver test.php?navn=casper i browsern. Så henter den ting fra databasen fx en tabel der hedder script. Hvor der står noget php kode i som gerne må blive udskrevet. Her er koden:

<?
include("sql.php");
  if (isset($_GET['navn'])) {
  // brug også addslashes() her, hvis PHP ikke gør det automatisk
    $navn=$_GET['navn'];
    $navn="$navn.php";
    $name=$_GET['navn'];
  } else {
    $name='main';
  }

  $resultat = mysql_query("SELECT * FROM bruger WHERE navn='$name'");
  while ($raekke = mysql_fetch_array($resultat)) {
    echo "Velkommen til ".$raekke['navn']."'s side<br>";
    echo "<?".$raekke['script']."?>";
  }
?>

Hvordan får jeg gjort så jeg kan hente fx echo "Hej"; fra databasen og så den skriver hej via PHP kode når det bliver hentet ned fra databasen ?
Avatar billede billen Nybegynder
21. december 2003 - 10:50 #1
http://dk2.php.net/eval

Men pas på med den ;o) En ondsindet bruger ville med det rigtige kode kunne lægge hele din server ned og mere til.
Avatar billede billen Nybegynder
21. december 2003 - 10:53 #2
F.eks.

$var = "echo \"hej\";";

// Vil så parse $var, så der kommer til at stå 'hej' på din side.
eval( $var );
Avatar billede billen Nybegynder
21. december 2003 - 10:56 #3
Hvis du bare vil have koden highligtet så brug:

http://dk2.php.net/highlight-string

F.eks.

$var = "echo \"hej\";";

// Udskriver echo "hej"; på en flot måde ;0)
echo highlight_string( $var );
Avatar billede zeiox Nybegynder
21. december 2003 - 11:07 #4
Hvordan skal det skrives ind i min kode ?
Avatar billede billen Nybegynder
21. december 2003 - 11:11 #5
$resultat = mysql_query("SELECT * FROM bruger WHERE navn='$name'");
  while ($raekke = mysql_fetch_array($resultat)) {
    echo "Velkommen til ".$raekke['navn']."'s side<br>";
    echo "<?".$raekke['script']."?>";

  }
Avatar billede billen Nybegynder
21. december 2003 - 11:13 #6
argh... for hurtig på tasterne:

$resultat = mysql_query("SELECT * FROM bruger WHERE navn='$name'");

while ($raekke = mysql_fetch_array($resultat)) {
    echo "Velkommen til ".$raekke['navn']."'s side<br>";
    // Hvis koden skal udføres:
    eval( $raekke['script'] );
    // Hvis koden skal vises pænt:
    highlight_string( $raekke['script'] );
}
Avatar billede zeiox Nybegynder
21. december 2003 - 11:27 #7
Tak det virker fint. Skriv lige et svar
Avatar billede billen Nybegynder
21. december 2003 - 11:28 #8
Takker :o)
Avatar billede zeiox Nybegynder
21. december 2003 - 11:43 #9
Sådan billen nu har du fået dine point. Har du MSN eller noget ?
Avatar billede billen Nybegynder
21. december 2003 - 11:47 #10
hvorfor?
Avatar billede zeiox Nybegynder
21. december 2003 - 12:02 #11
Ikke rigtigt for noget.. Men Tak for Hjælpen..
Bruger scriptet for ikke at skulle rette i min PHP fil hele tiden når jeg skal teste noget. Og slipper for at uploade
Avatar billede billen Nybegynder
21. december 2003 - 12:07 #12
fornuftigt. Man skal bare passe på eval + kode fra database. Det kan være en farlig cocktail ;-)
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