PDA

View Full Version : سوال: چگونه اسکریپتم رو قالب پذیر کنم؟



lordofphp
جمعه 02 دی 1390, 19:14 عصر
سلام دوستان

من یه اسکریپت دارم میزنم میخواستم قالب پذیر یا همون تم پذیر باشه یعنی با تگ هایی که من میدم طرف بتونه

قالب برا اسکریپتم بزنه

مثلا برا نمایش مطالب از تگ {article} استفاده کنه

چطوری باید این کار رو کرد؟

ravand
جمعه 02 دی 1390, 19:59 عصر
<?php
$title = 'عنوان سايت';
$template = file_get_contents('template.htm');
$chaptitle = str_replace('<-BlogAndPostTitle->', $title, $template);

$matlab = 'اين صفحه آزمايشي است';
$chapmatlab = str_replace('<-BlogAndPostmatlab->', $matlab, $chaptitle);
echo $chapmatlab;
?>



template.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><-BlogAndPostTitle-></title>
</head>
<body>
<div align="center">
<-BlogAndPostmatlab->
</div>
</body>
</html>

lordofphp
جمعه 02 دی 1390, 20:12 عصر
میشه کمی بیشتر توضیح بدی

بعد میتونم کاری کنم کل اطلاعات رو از فایل کانفیگ بگیره نمایش بده

مثلا زمان شروع کار و نام سایت و ایمیل مدیر و اینها

ممنون

ravand
جمعه 02 دی 1390, 20:25 عصر
فايل كانفيگ براي چي؟ شما يه صفحه براي چاپ اطلاعات داري مثل مثال زير:

<?php
$servername="localhost";
$dbname="cms2";
$user="root";
$pass="";
$dblink=mysql_connect($servername,$user,$pass);
mysql_select_db($dbname,$dblink);
mysql_query("SET CHARACTER SET utf8",$dblink);
$dbresult=mysql_query("SELECT * FROM jadval LIMIT 5 ",$dblink);
while($record=mysql_fetch_assoc($dbresult))
{
echo ($record['msg']);

}
mysql_close($dblink);
?>
الان اين كد مثلا متن مطلب رو چاپ ميكنه .
شما بيا اين خط
$record['msg'] رو به جاي متن 'اين صفحه آزمايشي است' قرار بده.
خيلي راحت هر چي ارسال كني چاپ ميشه. الان اين فايل template.htm قالب شماست.

lordofphp
جمعه 02 دی 1390, 20:28 عصر
راستی یه سوال دیگه

پسورد چطور به دیتابیس بفرستم که امنیتش بالا باشه

ممنون

ravand
جمعه 02 دی 1390, 20:32 عصر
از md5 استفاده ميكنند.

<?php
$str = "Hello";
echo md5($str);
?>

ravand
جمعه 02 دی 1390, 20:36 عصر
اينم روش خوبيه:طريقه ي رمز گذاري مطالب ارسالي به سرور با جاوا اسكريپت
http://www.webtoolkit.info/javascript-md5.html

lordofphp
جمعه 02 دی 1390, 20:39 عصر
بعد این کد بدرد چی میخوره؟


define('site_title')','reza);

از دیفاین استفاده میشه نمیدونم نوشتنش درست بود یا نه ولی از define استفاده شده
ممنون

ravand
جمعه 02 دی 1390, 20:46 عصر
بعد این کد بدرد چی میخوره؟


define('site_title')','reza);

از دیفاین استفاده میشه نمیدونم نوشتنش درست بود یا نه ولی از define استفاده شده
ممنون

اينا ثابت ها هستن :
http://nodiran.com/php-constants/

lordofphp
جمعه 02 دی 1390, 20:50 عصر
اگه بخوام تو صفحه مثلا ایندکس نمایشش بدم چی کار کنم؟

بعد برای ماژول پذیری یه اسکریپت چی پیشنهاد میدی؟

ravand
جمعه 02 دی 1390, 20:53 عصر
اگه بخوام تو صفحه مثلا ایندکس نمایشش بدم چی کار کنم؟

بعد برای ماژول پذیری یه اسکریپت چی پیشنهاد میدی؟
ميشه يه كم اين اصطلاحات رو شفافش كني؟ آخه من اين چيزايي كه ياد گرفتم سر كلاس ياد نگرفتم و اين اصطلاحاتي كه شما ميگي نميدونم چيه؟ :لبخند:
توي چه صفحه اي ميخواي نمايش بدي؟ منظورت از ماژول پذيري چيه؟

lordofphp
جمعه 02 دی 1390, 20:59 عصر
سلام میخوام مثلا ثابت رو عنوان صفحه قرار بدم چه کنم

یا مثلا یه ثابت بزنم زمان شروع کار بزنم که تو صفحه اصلی نمایش بدم

درمورد ماژول پذیری منظورم اینه که سیستم ماژولی باشه مثل نیوک که از ماژول داره و میخوام اسکریپتم ماژول پذیر باشه تا بعدا یه نفر بیاد براش ماژول بزنه
اینطوری باشه دیگه

ravand
جمعه 02 دی 1390, 21:07 عصر
سلام میخوام مثلا ثابت رو عنوان صفحه قرار بدم چه کنم

یا مثلا یه ثابت بزنم زمان شروع کار بزنم که تو صفحه اصلی نمایش بدم

درمورد ماژول پذیری منظورم اینه که سیستم ماژولی باشه مثل نیوک که از ماژول داره و میخوام اسکریپتم ماژول پذیر باشه تا بعدا یه نفر بیاد براش ماژول بزنه
اینطوری باشه دیگه

در مورد سوال اول شما بايد كدهات كه در مورد ثابت هست رو داخل يه فايلي بذار بعد با دستور include در قسمت title يا هر جا دوست داري چاپش كن:

<title>
<?php
include('sabet.php');
?>
</title>
در مورد سوال دوم هم نيمدونم

lordofphp
جمعه 02 دی 1390, 21:12 عصر
سلام
اینطور اینکلود کردن فقط فایل میخونه که ثابت تایتل میخونه؟
آره؟

ravand
شنبه 03 دی 1390, 09:42 صبح
ببخشيد من متوجه منظورتون نشدم

mtchabok
شنبه 03 دی 1390, 09:58 صبح
سلام
اینطور اینکلود کردن فقط فایل میخونه که ثابت تایتل میخونه؟
آره؟

سلام
برای خواندن ثوابت فقط کافیه که خود ثابت رو بنویسید .

define('exam','test');
echo exam;

خوب اگه می خواید که از ثوابت در یه قالب استفاده کنید حتما باید در قالب ثابت تشخیص داده بشه . به طور مثال میتونید بگید که :

define('exam','test');

str_replace('[exam]',exam,$template);
* متغیر $template متن کامل قالب هس .

برای اینکار بهتره که یه سرچی در مورد موتور قالب در تاپیکهای سایت بکنید .