برگزیده های پرشین تولز

خروجي داده ها به چه صورت ؟

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
(اول 30 تا صلوات نذر كردم كه به دليل اينكه سوال مي پرسم آقا مهدي تاپيك منو نبندند.:f34r:)
خب مي خواستم بدونم وقتي ما سايت ساده با PHP و Mysql ساختيم و ساختار جدول ما در ديتا بيس به اين صورت است كه از 2 ستون يكي id و ديگري content تشكيل شده و سايت ما هم يه صفحه index.php داره كه شماره id رو دريافت كرده و صفحه متناظر اون رو از database بر مي گردونه . حالا سوال اينجاست محتوايي رو كه بر گردونده اگه شامل كد هاي PHP هم باشه (يعني شامل html هم هست ) چطور نمايش بديم در index.php .؟؟؟؟؟؟؟؟؟؟
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
(اول 30 تا صلوات نذر كردم كه به دليل اينكه سوال مي پرسم آقا مهدي تاپيك منو نبندند.:f34r:)
خب مي خواستم بدونم وقتي ما سايت ساده با PHP و Mysql ساختيم و ساختار جدول ما در ديتا بيس به اين صورت است كه از 2 ستون يكي id و ديگري content تشكيل شده و سايت ما هم يه صفحه index.php داره كه شماره id رو دريافت كرده و صفحه متناظر اون رو از database بر مي گردونه . حالا سوال اينجاست محتوايي رو كه بر گردونده اگه شامل كد هاي PHP هم باشه چطور نمايش بديم در index.php .؟؟؟؟؟؟؟؟؟؟
شما از اول نباید داده هارو با جنس اصلی خودشون وارد دیتابیس کنی ! مثلا لازم نیست تگ <؟ رو همینطوری تو دیتابیس بریزی ! باید علامت > , < رو به معادل اسکیشون تبدیل کنی. با htmlspacialchars و توابع مشابه !
 

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
آقا اصلا حرف من چيز ديگري هست . مي گم وقتي مثلا اطلاعات صفحه content رو گرفتيم و گذاشتيم توي متغيري مثلا به نام $content خب حالا چجوري بديم به خروجي ؟؟؟؟؟؟؟؟؟؟؟؟ با echo و يا .. كه نميشه چون كدهاي PHP اجرا نمي شن ؟؟؟؟؟؟؟؟؟؟ چه بايد كرد ؟
اصلا به همين Vbulletin نگاه كنيد ببينيد چه مي كنه ؟ چجوري اين كار رو انجام ميده ؟ (البته اگه داره)
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
اگر منظورتون اينه كه ميخاين كد php رو تو ديتا بيس بريزين و بعد كه اومد بيرون همون اجرا بشه ميتونين از تابع eval كه براي همين منظور هست استفاده كنيد. توضيحات بيشتر در راهنماي PHP موجود هست.

http://www.php.net/manual/en/function.eval.php

اگرم منظورتون اينه كه ميخواين كدي كه تو ديتا بيس هست مثل همينجا رنگي بشه ميتونين از تابع highlight_string استفاده كنيد. توضيحات بيشتر در راهنماي php.

http://www.php.net/manual/en/function.highlight-string.php
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
اگر منظورتون اينه كه ميخاين كد php رو تو ديتا بيس بريزين و بعد كه اومد بيرون همون اجرا بشه ميتونين از تابع eval كه براي همين منظور هست استفاده كنيد. توضيحات بيشتر در راهنماي PHP موجود هست.

http://www.php.net/manual/en/function.eval.php

اگرم منظورتون اينه كه ميخواين كدي كه تو ديتا بيس هست مثل همينجا رنگي بشه ميتونين از تابع highlight_string استفاده كنيد. توضيحات بيشتر در راهنماي php.

http://www.php.net/manual/en/function.highlight-string.php
و اگه منظورتون اینه که کدی که تو دیتابیسه فقط نشون دادهع بشه و کامپایل نشه میتونید از htmlspecalchars و خانواده !! استفاده کنید !
 

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
اگر منظورتون اينه كه ميخاين كد php رو تو ديتا بيس بريزين و بعد كه اومد بيرون همون اجرا بشه ميتونين از تابع eval كه براي همين منظور هست استفاده كنيد. توضيحات بيشتر در راهنماي PHP موجود هست.
منظورم همينه ,ولي خب وقتي محتواي صفحه هم PHP داره و هم Html چه بايد كرد ؟ كدهاي مخلوط شده با هم !!!!!!
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
تا اونجايي كه من تست كردم اينطوريم شده. شما تست كردي ببيني ميشه يا نميشه؟
تست كن...
 

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
آقا من تست كردم قبلا ارور ميده . اگه شما تست كردين با مثال بذارين لطفا. (مرسي سالار)

بياييد صورت مسئله رو ساده تر كنيم فكر كنيد متغيري داريم داراي كدها و تگ هاي PHP به همراه كد هاي Html چطوري خروجي مناسب رو توليد كنيم ؟؟؟؟؟؟؟؟؟
 

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
اصلا سوال من اين هست كه شما چطوري يه سايت ساده دايناميك با 3 صفحه مثلا درست مي كنيد ؟
محتواي صفحات سايت شما مگه داراي كدهاي PHP نيستند ؟؟؟؟؟؟؟؟؟
 

ocarina3

Guest
تاریخ عضویت
23 اکتبر 2006
نوشته‌ها
222
لایک‌ها
0
محل سکونت
ایالت پنجاه و یکم آمریکا
اصلا سوال من اين هست كه شما چطوري يه سايت ساده دايناميك با 3 صفحه مثلا درست مي كنيد ؟
محتواي صفحات سايت شما مگه داراي كدهاي PHP نيستند ؟؟؟؟؟؟؟؟؟

خوب این چه ربطی ، و یا چه لزومی به درج کردن کدهای PHP در بانک و eval کردنش داره؟!

دقیق بگو میخوای چیکار کنی؟
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
اصلا سوال من اين هست كه شما چطوري يه سايت ساده دايناميك با 3 صفحه مثلا درست مي كنيد ؟
محتواي صفحات سايت شما مگه داراي كدهاي PHP نيستند ؟؟؟؟؟؟؟؟؟
به نظرم صورت مسئله اشتباهه ! اصلا چه معنی داره کدهای php رو که قراره کامپایل بشه رو بفرستیم تو دیتابیس؟
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
دقيقا! اين كه شما ميخواي اين كد ها رو توي بانك اطلاعات قرار بدي مثاله اي كاملا اشتباهه. كد هاي php فقط توي فايل هاي php قرار ميگيرند. اطلاعات كاربر و مطالب توي ديتا بيس. لايه نمايش هم معمولا در CMS هاي جديد جدا از لايه انتزاع و لايه منطق هستند.

اگر اطلاعات بيشتري نياز داري بگو تا برات شرح بدم (ساختن يه CMS وقت، تجربه و دقت خيلي زيادي رو ميخواد) (تاپيك ققنوس رو ببين)
 

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
بله آقا سالار شما كه از گذشته ما مي شناسيمتون يه 2 سالي هست در خدمتتونيم !
منم صورت مسئله رو بازم ساده تر مي كنم . آقا يه سايت داريم با 100 صفحه كه يه صفحه index داره كه مطالب صفحات توش باز ميشه !!! خب حالا يكي از صفحات PHP هم داره , بياييد يه مثال بزنيد كه چطور كد PHP صفحات توش اجرا بشه !
در ضمن صحبت شما سالار جان برام جالب بود .
ايني كه ميگي لايه ها از هم جدا هستند ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
همان طور که دوستان گفتند باید از تابع eval استفاده کنید.
تابع eval رشته ای را که دارای کدهایphp باشه رو مثل خود php اجرا می کنه.
مثال:

PHP:
<?php

$content = "<?php echo 'I am HERE!'; > ";
eval($content)

?>
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
همان طور که دوستان گفتند باید از تابع eval استفاده کنید.
تابع eval رشته ای را که دارای کدهایphp باشه رو مثل خود php اجرا می کنه.

مثال:

PHP:
<?php

$content = "<?php echo 'I am HERE!'; > ";
eval($content)

?>
 

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
همان طور که دوستان گفتند باید از تابع eval استفاده کنید.
تابع eval رشته ای را که دارای کدهایphp باشه رو مثل خود php اجرا می کنه.

مثال:

PHP:
<?php

$content = "<?php echo 'I am HERE!'; > ";
eval($content)

?>

اينو بايد چيكار كرد ؟

PHP:
<?php
$content="salam be shoma <?
echo $name;
?>";
?>

سوال اصلي من همينه !!!!!!!!!!!! :happy:
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
من در مورد اين سوالت بعدا مثال ميزنم. ولي الان در مورد اون لايه ها برات توضيح ميدم.
ببين ما برايد طراحي و برنامه نويسي يه سيستم جديد سه لايه اصلي داريم. لايه انتزاع كه كارش كار كردن و ارتباط و بيرون كشيدن اطلاعات از بانك هاي اطلاعاتي هست. لايه منطق كه كارش كار كردن با اطلاعات دريافتي و كنترل ورودي و خروجي ها هست. در آخر هم لايه نمايش كه همونطور كه از اسمش پيداست كارش نمايش اطلاعات پردازش شده هست. شما براي نوشتن CMS لازمه كه اول كامل به همه اجزاي سيستم فكر بكنيد. بعد از فكر كردن (!) بايد دقيقا از پايه شروع كنيد به برنامه نويسي. در ضمن. اين اطلاعاتي كه شما ميگيد بايد كاملا پردازش بشن. اگر كد HTML داره توش جدا مشخص بشه . اگر php داره همچنين.
 

vaheb

کاربر تازه وارد
تاریخ عضویت
14 اکتبر 2007
نوشته‌ها
134
لایک‌ها
0
مرسي از توضيحاتت ميشه يه منبع معرفي كني در رابطه با همين حرف ها ؟
 

متالیک

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
31 مارس 2007
نوشته‌ها
2,128
لایک‌ها
285
اينو بايد چيكار كرد ؟

PHP:
<?php
$content="salam be shoma <?
echo $name;
?>";
?>

سوال اصلي من همينه !!!!!!!!!!!! :happy:

اینم جواب سوال اصلی شما
مثل همون حالت قبلیه که دو تا تفاوت کوچیک داره:

PHP:
<?php 

$name = "Metalik";
$content= 'salam be shoma <?
echo $name;
?>
 aziz!
'; 

eval("?>".$content."<?");

?>
 
بالا