View Single Post
ישן 18-12-06, 23:56   # 6
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי רומן צפה בהודעה
למה שמישהו ישמור קוד php במסד, אני ממש בספק, פונקציה מוזרה.
אתם יודעים שלפחות 50% מהמערכת של VBULLETIN מתבססת על הפונקציה הזאת ?

כל מערכת HOOKS של VB עובדת על EVAL וגם המערכת של הטמפלטים

למי שאמר שזאת אחת הפונקציות הפחות שימושיות - זה רק מראה כמה באמת אתה יודע על PHP

ל TNADAV

תחשוב שבמסד אני מכניס קובץ כזה

שהוא בעצם הטמפלט שלי....
PHP קוד:
<html>
<
title>$pagetitle</title>
<
body onload="$onload">

<
divmy username is $userinfo[username]</div>

</
body>
</
html
ובקובץ PHP אני עושה משהו כזה..

PHP קוד:
<?php

$pagetitle 
'my fucking nice page';
$sitename 'my site';
 
if (
$userid)
{
    
//get user info
    
$userinfo get_userinfo($userid);
}
else 
{
    
$userinfo = array(
    
'userid' =>0,
    
'username' =>'Guest',
    
'lastvisit' =>'Never',
    );
}

$onload "alert('Welcome to $sitename');";

require_once(
'db.php');

$temp mysql_fetch_assoc(mysql_query("SELECT text FROM template WHERE templatename='index'"));


eval(
"print ".$temp[text].";");


?>
עכשיו... אם הייתי עושה
PHP קוד:
print $temp[text
לבד אז הייתי מקבל את הקובץ של ה HTML איך שכתבתי אותו למעלה...

אבל ה EVAL הופך את כל הערכים לממשיים ומחליף אותם במה שמוגדר בתוך הדף של ה PHP


עוד דוגמאות לשימושים בפונקציה ה"מיותרת" הזאת ?
  Reply With Quote