Avatar billede gil-galad Nybegynder
25. juni 2004 - 23:11 Der er 16 kommentarer og
1 løsning

Udføre php fra felt

Hej

Jeg har et felt i min database, og skriver deri <?php echo "Hej"; ?>

Det hiver jeg så ind på en side, men det bliver jo ikke udført, men bare skrevet ud. Er der nogen måde at få det udført på?

(sig til hvis i skal have noget kode)
Avatar billede erikjacobsen Ekspert
25. juni 2004 - 23:15 #1
Du skal bruge eval, og ikke have <? ... ?> omkring.
Avatar billede erikjacobsen Ekspert
25. juni 2004 - 23:15 #2
Avatar billede gil-galad Nybegynder
25. juni 2004 - 23:20 #3
Nu er jeg helt nybegynder med Mysql. Hvor skal jeg bruge eval? på felterne eller på tabellerne? Og hvordan gør jeg? (har phpmyadmin)
Avatar billede erikjacobsen Ekspert
25. juni 2004 - 23:21 #4
Du kan gøre det i PHP - ikke phpmyadmin:

  eval($row['felt']);
Avatar billede gil-galad Nybegynder
25. juni 2004 - 23:25 #5
Har fundet ud af det nu. Men hvad nu hvis jeg har noget normal html i feltet også? skal det hele echo'es ud så?
Avatar billede erikjacobsen Ekspert
25. juni 2004 - 23:29 #6
Nej da. Du kan sagtens (hold tungen lige i munden):

  $s=" print 7+9; ?> Her er der <b>HTML</b> <? print 'og her PHP';";
  eval($s);
Avatar billede gil-galad Nybegynder
25. juni 2004 - 23:32 #7
der må du vist hjælpe mig :-)

Her er scriptet med eval:

$res = mysql_query("SELECT title, body FROM articles WHERE id = '$id'") or die(mysql_error());
if( $row = mysql_fetch_array($res) ) {
  echo "<h1>".$row["title"]."</h1>";
  eval ($row['body']);
}
Avatar billede erikjacobsen Ekspert
25. juni 2004 - 23:35 #8
Ja, det ser fint ud.
Avatar billede gil-galad Nybegynder
25. juni 2004 - 23:46 #9
ok, vil du have dine points denne gang?
Avatar billede erikjacobsen Ekspert
25. juni 2004 - 23:47 #10
nej tak.

Virkede det?
Avatar billede gil-galad Nybegynder
26. juni 2004 - 00:01 #11
ja, men det ville være smartest for mig, hvis man i feltet kunne skrive:

<b>tekst<div style="border: 1px;">hej</div> <?php echo "php midt i tekst, og ikke udenom";?>mere tekst her, og flere tags</b>

men jeg kan vel altid bare starte hvert felt med echo ' og slutte med '; og så echo'e det hele...

Iøvrigt. Hvad er forskellen på echo og print
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 00:08 #12
Hvis du vil gøre som du lige har skrevet kan du jo bare

  eval ("<"."? ".$row['body']." ?".">");

<? og ?> adskilt for at PHP ikke kløjs i det.
Avatar billede erikjacobsen Ekspert
26. juni 2004 - 00:08 #13
Nej nej, omvendt:

  eval ("?"."> ".$row['body']." <"."?");
Avatar billede gil-galad Nybegynder
26. juni 2004 - 00:38 #14
svar
Avatar billede gil-galad Nybegynder
26. juni 2004 - 00:41 #15
og mange tak, iøvrigt
Avatar billede krydset Nybegynder
11. februar 2005 - 00:17 #16
Jeg har et spm til denne her
hvordan fanger man så linieskift

hvis jeg har det her i en database

<?php
echo("TEST");
?>

HALLO

så får jeg
TEST HALLO

Udskrevet skulle gerne få
TEST
HALLO

Er der en løsning på det
Avatar billede erikjacobsen Ekspert
11. februar 2005 - 10:14 #17
<?php
echo("TEST");
?>
<br>
HALLO
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