הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] eval (https://hosts.co.il/forums/showthread.php?t=65295)

ShLooK 18-07-08 23:12

[PHP] eval
 
יש לי שאלה לגבי הפונקציה הזאת,
ניתן איכשהו לשמור את המידע שהיא מחליפה בתוך המשתנה בלי לפלוט אותו?
לדוגמא יש לי את הקוד הבא:
PHP קוד:

$string = "
<?php
echo $_SERVER['REMOTE_ADDR'];
?>
";

ועכשיו שאני עושה
PHP קוד:

eval($string); 

זה פולט לי אותו למסך, למרות שאני רוצה לשמור את המידע המעודכן עדיין באותו המשתנה
ניסיתי ככה:
PHP קוד:

$string = eval($string); 

ועדיין לא עוזר... תודה!

mlnn 18-07-08 23:22

eval לא מחליפה כלום, אלא מבצעת את מה שכתוב בסטרינג.
וגם השימוש שלך בה לא נכון. תסביר מה אתה מנסה לעשות.

ShLooK 18-07-08 23:24

אני מנסה להמיר קוד PHP מתוך DATABASE...
זוהי רק דוגמא, אני יודע שצריך להשתמש גם ב:
PHP קוד:

"?>" . $string . "<?php "


BlueNosE 18-07-08 23:24

PHP קוד:

$string = "
<?php
return $_SERVER['REMOTE_ADDR'];
?>
";
$string = eval($string);

נראה לי הגיוני שיפעל אם כי זה ייצור לא מעט בעיות בהמשך.

ShLooK 18-07-08 23:25

העניין שזה לא פועל, רשמתי למעלה...

Daniel 19-07-08 12:41

אוקיי, בוא נעשה חושבים. פותחים PHP.NET.
"code_str does not have to contain PHP Opening tags. ".
אחר כך נעבור עוד שורה
"eval() returns NULL unless return is called in the evaluated code, in which case the value passed to return is returned. If there is a parse error in the evaluated code, eval() returns FALSE and execution of the following code continues normally. It is not possible to catch a parse error in eval() using set_error_handler(). "

אם אתה צריך יותר מזה, מצטער, אני לא יכול לעזור.

BlueNosE 19-07-08 13:10

ציטוט:

נכתב במקור על ידי ShLooK (פרסם 651545)
העניין שזה לא פועל, רשמתי למעלה...

העניין הוא שזה לא מה שרשמת למעלה.





אה ובאמת לא צריך את התגי פתיחה וסגירה של PHP.


כל הזמנים הם GMT +2. הזמן כעת הוא 19:27.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ