login  Naam:   Wachtwoord: 
Registreer je!
 Forum

string als if

Offline spyzone - 01/06/2011 22:31
Avatar van spyzonePHP beginner Hey,

Volgens mij heb ik hier een lastige.
Ik heb in een string hetvolgende staan:
$filter = "(0 == 0)";

en dat wil ik eigenlijk in een if() krijgen.
Dus zoiets als: if($filter){ echo"gelukt"; } (Maar hierbij kijkt die of $filter gevuld is)
En wat die dan dus moet uitvoeren is: if(0 == 0){ echo"gelukt"; }

Kan dat, en hoe?

(Wat ik precies wil is een statement in een database kunnen stoppen. Zodat ik in de database makkelijk de if kan aanpassen. )

Thx,

Jeroen

9 antwoorden

Gesponsorde links
Offline marten - 01/06/2011 22:33
Avatar van marten Beheerder Dit is zo onveilig als het maar kan....

maar je zou PHP.net: eval kunnen gebruiken
Offline spyzone - 01/06/2011 22:38
Avatar van spyzone PHP beginner Dat het onveilig is maakt niet uit, aangezien het voor persoonlijk gebruik is en binnen mijn netwerk blijft.

De functie eval ken ik, maar hoe krijg je die in een statement if() dan?
Offline marten - 01/06/2011 22:39
Avatar van marten Beheerder
  1. if (eval($string)) {
  2. echo 'string juist';
  3. }
Offline spyzone - 01/06/2011 22:43
Avatar van spyzone PHP beginner Dat had ik al geprobeerd ja, maar dan krijg ik deze error:

Parse error: syntax error, unexpected $end in /srv/www/vhosts/####/httpdocs/####(994) : eval()'d code on line 1
Offline marten - 01/06/2011 22:46
Avatar van marten Beheerder Wat staat er in de $filter op dat moment?
Offline spyzone - 01/06/2011 22:48
Avatar van spyzone PHP beginner $filter = "$lengte == 0";
Offline marten - 01/06/2011 22:57
Avatar van marten Beheerder Ik zou zeggen bekijk het voorbeeld eens op de pagina over eval welke ik net postte. Dan moet je er wel uit komen
Offline spyzone - 01/06/2011 22:58
Avatar van spyzone PHP beginner Ik heb het volgens mij gevonden:

$test = eval("return $filter;");

if($test)
{
echo 'abc';
}
Offline avdg - 01/06/2011 23:18
Avatar van avdg PHP gevorderde Ik snap de use case niet volledig, welk probleem wil je oplossen met de eval? (Het gebruik van eval is duidelijk al fout, maar zolang escapes worden toegepast, is er op zich geen gevaar)
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.174s