Autor Zpráva
dife
Profil *
neznate nekdo jednoduchy priklad jakse pouzia string.??? nejaky link na tutoril nebo podobne... diky
nightfish
Profil
$retezec = "Do retezce muzes ulozit text";
$retezec2 = $retezec." a muzes k nemu i pripojit dalsi text";
dife
Profil *
myslel jsem to takto.
chtel jsem se zeptat jestli toto muzu dat do string

"String"


<? if (!isset($obrazekb)) { $chyba_obr="error = obrazek nenalezen"; echo " obrazek nenalezen"; } else { echo $obrazekb; } ?>

a ja to mam udelat...
Casero
Profil
dife
Nemyslíš eval() ??
dife
Profil *
Casero
hmm o tomto eval() jsem zatim neslysel mohl by jsi me kratce vysvetlit.?? nebo jednoduchy priklad.?
Casero
Profil
http://cz.php.net/manual/cs/function.eval.php
Joker
Profil
dife

Jinak ten kód do řetězce dát jde:
$retezec = '<? if (!isset($obrazekb)) { $chyba_obr="error = obrazek nenalezen"; echo " obrazek nenalezen"; } else { echo $obrazekb; } ?>';
ale když pak uděláte echo($retezec), tak to napíše tenhle text, neprovede to PHP.

Jestli chcete dát do řetězce text v závislosti na nějaké podmínce, tak buď přes if-else anebo podmíněný operátor:
$retezec = (isset($obrazekb) ? $obrazekb : 'Obrázek nenalezen';
echo($retezec);

Ale v tomhle případě by bylo možná jednodušší:
if (!isset($obrazekb)) $obrazekb = "Obrázek nenalezen";
echo($obrazekb);
Pilda
Profil
Co dělá funkce Eval vim, ale nepodařilo se mi přijít na žádný praktický příklad, kde by se to dalo využít. Poví mi to někdo?
Joker
Profil
Pilda
Tak například- kus kódu pro dynamický obsah stránky:
$stranka = "/sablony/".$_GET["stranka"]."php";
if(file_exists($stranka)) include($stranka); else echo("Stránka nebyla nalezena");

No a totéž když budu mít kód stránek uložený v databázi
$vysledek = mysql_query("SELECT kod FROM stranky WHERE nazev='".addslashes($_GET["stranka"])."'");
if(!$vysledek) echo("Stránka nebyla nalezena");
else{
$zaznam = mysql_fetch_array();
echo(eval($zaznam["kod"]));
}

Ale jinak je fakt, že eval() se moc nepoužívá.
Pilda
Profil
Joker,
díky, takže jestli jsem to dobře pochopil, tak funkce eval je dobrá leda k přehlednějšímu, kratšímu kódu. Cokoliv jde řešit bez ní...
krteczek
Profil
eval slouži k provedení php uloženého do proměnné,
výhodné to je když ukládáme stránky do databáze a chceme v nich mít možnost použít nějaký php kod který se má vykonat při zobrazení. musím říct že jsem ještě k takové konstrukci nedospěl a doufám že nebudu muset, je to za jistých okolností nebezpečné.
krteczek
Joker
Profil
Pilda
jestli jsem to dobře pochopil, tak funkce eval je dobrá leda k přehlednějšímu, kratšímu kódu. Cokoliv jde řešit bez ní...
To bych zrovna neřekl... v tom příkladu poskytuje eval() funkčnost, která by jinak udělat šla, ale bylo by to asi dost krkolomné řešení.
Funkce eval() se prostě používá k tomu, když potřebujete vyhodnotit PHP kód načtený v řetězci. Příklad smysluplného využití je, načítání PHP kódu z databáze.
Joker
Profil
ad krteczek, ještě doplním, že potenciální rizika jsou asi zřejmá: chyba zabezpečení vstupů pro echo() může způsobit, že mi někdo rozhodí stránku. Chyba zabezpečení vstupů pro eval() může způsobit, že někdo získá kontrolu nad celým webem.
dife
Profil *
nakonec jsem to udelal jeste jinak


:-)

$cesta = "../fotoalbum/data/sys/";
$obrazekb = "SP01_schema.jpg";
$mismas = $cesta.$obrazekb;
<? if (!isset($obrazekb)) { $chyba_obr=" <b>Error 33 =</b> obrazek nenalezen !!!!"; }
else { echo "<img src="$mismas"/>"; }
echo $chyba_obr;
25k
Profil *
whow ;-)
tiso
Profil
dife máš to aj tak blbo:
if(!is_file($mismas)){//obrazok neexistuje, vypis chybu
...
}
else{//obrazok existuje, zobraz ho
...
}
Toto téma je uzamčeno. Odpověď nelze zaslat.