[ w3bl0rd @ 19.09.2007. 00:08 ] @
| htio bi da mi se ispiše na ekran DOSLOVCE <?php echo $varijabla;?>
ovo je izvađeno van da vi možete razumjeti...
sad ja sklepao ovaj kod ali to ne šljaka... dobijem grešku
Parse error: syntax error, unexpected $end, expecting ',' or ';' in G:\xampplite\htdocs\nooziq\proba.php(2) : eval()'d code on line 1
a kod je ovo... kako natjerati da mi ovo radi to mi je veoma bitni dio koda...
eval('echo\'<?php echo $varijabla;?>\'');
izgleda da ovo ne radi s php-om mozda bug ili ja krivo razumijem ovo izgleda da u eval funkciji ne moze biti <?php opce... hmm izgleda da cu morati umjesto <?php pisati nesto drugo pa kasnije sa str_replace to izmjeniti ne znam drugo nista... ima ko bolju ideju?
[Ovu poruku je menjao w3bl0rd dana 19.09.2007. u 01:19 GMT+1] |
[ w3bl0rd @ 19.09.2007. 09:22 ] @
a ništa ovo je vjerojatno bug... riješit ću to drukčije
morat ću napraviti nešto ovak pa onda kasnije samo izmjeniti
<-?-p-h-p $varijabla;?->
pošto izgleda da u eval funkciji nemože opće biti <?php...
[ noviKorisnik @ 19.09.2007. 10:16 ] @
Ne treba ti eval. Čak ni php. Samo stavi ovo u html
<?php echo $varijabla; ?>
[ w3bl0rd @ 19.09.2007. 17:44 ] @
ne bi reko NoviKorisnik ne zelim ja prikazati to u browseru.... ja to zelim zapisati u fajl i zbog koda drugog ovo mora ici kroz eval jer se stavlja na listu kodova koji ce se obaviti tak a eval ne prima <? iako je u navodnicima to je vjerojatno bug... tak da to bi bila pomoc nekome ko se tek susrece s php-om nazalost meni ne.. svejednop Hvala na pokušaju
[ noviKorisnik @ 19.09.2007. 22:27 ] @
Sorry, ali u uvodnoj poruci pisao si doslovno...
Citat: htio bi da mi se ispiše na ekran DOSLOVCE <?php echo $varijabla;?>
... pa sam razumeo ovako kako sam odgovorio. No nebitno, bitno je da kad dobiješ poruku o grešci da se potrudiš da razumeš šta ti tu piše. Dakle, na kraju izraza koji želiš da evaluiraš moraš da staviš tačka-zarez i to je to (neposredno pre navodnika koji zatvara string).
eval('echo\'<?php echo $varijabla;?>\' ;');
Da li sam sad razumeo u čemu je (bio) problem? I dalje mi nije jasno zašto se koristi eval kada isti posao radi i sam echo.
echo'<?php echo $varijabla;?>';
?
[ Jezdimir Lončar @ 20.09.2007. 00:15 ] @
Pazi,
u eval f-ji ne smijes da imas <?,<?php,?> .
To replaceuj.
I znaci to bi trebalo da ide ovako:
eval("echo ...");
a ako ide dinamicki, onda stripuj slashese.
[ w3bl0rd @ 20.09.2007. 02:15 ] @
u biti problem je da se tu radi o nečem drugome jedino birno je da <?php nemože nikako biti unutar eval funkcije ma kako god pod navodnicima... i moras promjeniti <?php u nesto drugo pa kasnije mjenjati sa <?php over & out... ne elim vas opterecivati zasto mi to treba ali uglavnom treba mi u biti noviKorisnik vjerujem da si ti puno toga radio zaključujem to po tvojem znanju već par godina sam član ES-a i ti si mi većinom davao najpametnije odgovore....
vjerujem da ti znaš da puno puta moraš koristiti neštoo za što si mislio kad je neko postavio u temi da se nikakonemora koristiti i da je glupo ali kad na to staviš malo više koda ništa nije besmisleno tu se generira drugi fajl pa tako... aj necu u detalje Hvala na trudu...
[ noviKorisnik @ 20.09.2007. 10:12 ] @
Sorry još jednom, ali sad već imam utisak da moja prethodna poruka nije pročitana kako valja.
Dobijao si grešku:
Citat: Parse error: syntax error, unexpected $end, expecting ',' or ';' ...
A evo i napomene sa http://php.net/eval
Citat: Remember that the string passed must be valid PHP code, including things like terminating statements with a semicolon
Cela moja prethodna poruka govori o tome da ti u celom izrazu nedostaje samo jedan karakter (semicolon, tačka-zarez, ";"), a sad me opet dočekuje tvrdnja da ne može <?php da se nađe unutar eval izraza - pa molim onda nađite mi onda neku referencu koja potvrđuje to, jer sam testirao kod sebe i prolazi bez ikakvih problema kad se doda samo taj jedan jedini karakter.
Šta se dobije kad to prođe? Ne ispiše se <?php echo $varijabla;?> na ekranu browsera, ali se to upiše u dokument koji browser primi.
Code: <?php
$varijabla = 'hahah';
eval('echo\'<?php echo $varijabla;?>\';');
echo "\r\n";
eval("echo'<?php echo $varijabla;?>';");
echo "\r\n";
eval("echo'<?php echo \$varijabla;?>';");
?>
Odeš na view source ... no ne znam koliko je to blizu onome što očekuješ, a ako ne želiš o tome da pričaš bolje da ja nastavim da kuliram od foruma nego da kucam ovoliko zbog jednog karaktera.
[ w3bl0rd @ 20.09.2007. 16:13 ] @
e ovo me sad opčinilo budem provjerio to odmah mada znam da mi nije radilo bacalo mi je grešku neku čudnu drugu nije mi dalo koristiti<?php u evalu... provjerit ću to čim stignem sad nemogu moram nešt prije završiti...
[ w3bl0rd @ 20.09.2007. 17:22 ] @
probao to ali ne šljaka i dalje... dok god nemam <?php sve radi
evo ovu grešku dobijem
Parse error: syntax error, unexpected $end in G:\... on line...
a ovo je kod...
$this->do[]='$this->replace(\'{$'.$htmlvar.'}\',\'<?php global '.$phpvar.'; echo '.$phpvar.';?>\');';
$this->do je array u koji spremam linije koje se trebaju zvrsiti kasnije...
replace nista posebno isto....
private function replace($old,$new)
{
$this->content=str_replace($old,$new,$this->content);
}
i na kraju samo imam
foreach($this->do as $v)
{
eval($v); //->na ovoj liniji dobijem gresku
}
$this->replace je funkcija koja sadrži liniju koda... i to tipa
$sadrzaj=str_replace($blb,$blb,$sadrzaj);... toliko o tome tak da sam i dalje uvjerenja da ne šljaka mada onaj tvoj kod radi što znači da smijem imati <?php u evalu ali nešto treće ne šljaka...
[ Jezdimir Lončar @ 20.09.2007. 18:42 ] @
Cek, a da replaceujes < sa < ?
Mozes i > sa > ...
[ w3bl0rd @ 20.09.2007. 18:57 ] @
ne nije to to to je sasvim druga stvar vec... vidi to se sve nakraju $this->content sprema u drugi fajl.... i tamo bas mora biti php a ako ja stavim to onda se nece izvrsiti echo naredba nek cu doslovno ispisat an <?php... a ja to ne zelim
[ noviKorisnik @ 20.09.2007. 20:44 ] @
Čini mi se da ne možeš da propertiju daš ime 'do' zato što je to ključna reč. Promeni naziv, mislim da će da radi posao.
[ w3bl0rd @ 20.09.2007. 21:44 ] @
nemogu vjerovati ali čini se da radi hehe kako čovjek gleda na krivo mjesto... a ovad do nije opće stvarao problema do sad.. a dugo je bio korišten i nikada problema... koja banalna greška
Hvala noviKorisnik
svi gledali na potpuno krivo mjesto kad si tak dugo u istom kodu i jednostavno to ti radi ne obračaš pažnju na to...
svaka čast
e ali baš me zanima zašto se kod čudno ponašao bez <?php je radilo usprkos do a s tim nije hmmm to je isto malo čudno zar ne?
[ noviKorisnik @ 20.09.2007. 23:24 ] @
Jeste čudno, upravo zato i nije banalno jer je teško napipati zašto škripi kad sve liči da je ok. Na kraju i ne znam zašto se ponašalo tako, jer da je greška sa 'do' trebalo bi ranije da je prijavi a ne samo u nekom egzotičnom okruženju.
[ w3bl0rd @ 21.09.2007. 10:37 ] @
i dalje mi ovo liči na bug u php-u... premda sad je sve super ali mislim nebi opće smjelo onda dopustiti da se do koristi kao element...a ne da nakon nekog koda jednostavno više ne radi... ovo je veoma čudno ponašanje možda bi čak to mogao i prijaviti kao bug
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|