Avatar billede q^bone Nybegynder
28. august 2006 - 02:29 Der er 2 kommentarer og
1 løsning

Hjælp til eval()

Jeg har en masse nyheder i min database.
Dem udskriver jeg så med et while loop som nedenstående;
<?
include("mysql.php");
   
$res = mysql_query("SELECT * FROM `nyheder` ORDER BY `id` DESC LIMIT 5") or die(mysql_error());
while ($nyhed = @mysql_fetch_array($res)) {
   
$overskrift = $nyhed['overskrift'];
$nyhedstext = $nyhed['nyhed'];

echo "<table>
<tr><td>$overskrift</td></tr>
<tr><td>$nyhedstext</td></tr>
</table>";
}
?>

I min database har jeg så som et eksempel lavet en nyhed som ser således ud:
"Mit navn mads indeholder <? echo strlen('mads'); ?> bogstaver"

Jeg har så prøvet at få det til at virke med eval(); på disse måder:
eval($nyhedstext);
og
eval('?>' . $nyhedstext . '<?php ');
og med
$nyhedstext =
foran begge

men ingen af mine forsøg lader til virke, den udskriver det ihvertfald ikke noget nær rigtigt.
Avatar billede sjh Nybegynder
28. august 2006 - 06:53 #1
øhh jeg skal ikke kunne sige om eval() er slået fra på serveren.. men det her virker hos mig..


<?php
/*
  $overskrift = $nyhed['overskrift'];
  $nyhedstext = $nyhed['nyhed'];
*/
  $overskrift = "bla bla";
  $nyhedstext = "Mit navn mads indeholder <? echo strlen('mads'); ?> bogstaver";

  echo "<table>";
  echo "<tr><td>$overskrift</td></tr>";
  eval("?><tr><td>$nyhedstext</td></tr><?");
  echo "</table>";
?>
Avatar billede q^bone Nybegynder
28. august 2006 - 12:35 #2
Jeg forstår vidst ikke helt hvordan eval() virker :)
Men det bliver ihvertfald ikke bedre! Tusind tak for hjælpen - det er perfekt!
Avatar billede q^bone Nybegynder
28. august 2006 - 13:47 #3
Oh bare lige for at kommentere;
Min fejl var at jeg havde skrevet

$overskrift = $nyhed['overskrift'];
$nyhedstext = $nyhed['nyhed'];

echo "<table>
<tr><td>$overskrift</td></tr>
<tr><td>".eval($nyhedstext)."</td></tr>
</table>";

Og det lavede godt nok en masse ged i det :)
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