PDA

View Full Version : مبتدی: سوال در مورد عملکرد متغیرها در php



yasi11
سه شنبه 18 فروردین 1394, 21:21 عصر
یه سوال ابندایی داشتم. من تازه با php کار میکنم و زیاد بلد نیستم. یه اسکریپت نصب کردم و فهمیدم متغیر مثلا نمایش‌دهنده‌ی تعداد اعضا فقط در یک صفحه‌ خاص از سایتم نمایش داده میشه و در آدرس دیگه عمل نمیکنه. باید چیکار کنم تا در هر صفحه‌ای که میخوام متغیر نمایش دهنده‌ی تعداد اعضا، کار کنه؟

Pedram77
سه شنبه 18 فروردین 1394, 21:37 عصر
طول عمر هر متغیری فقط تا وجود داشتن همون صفحه ایه که توی اون تعریف شده. اگه صفحه تغییر کنه، متغیر از بین میره. برای اینکه از متغیری استفاده کنی که توی همه صفحه بشه استفاده کرد مثلا میتونی از SESSION یا جلسه ها استفاده کنی، جلسه ها رو میشه به نوعی متغیری با طول عمر کل سایت شناخت. توی تمام صفحات سایتت قابل دسترسه. نمونه :


<?PHP
session_start();

$_SESSION["username"]="Yasi";

?>

الان SESSION ــی تعریف کردم که اسمش username ــه و مقدارش Yasi ــه. اگه توی هر صفحه از سایتت session_start() رو بنویسی، این متغیر فوق عمومی یا Super Global قابل دسترسیه و میشه تغیرش داد.

yasi11
سه شنبه 18 فروردین 1394, 22:02 عصر
خیلی ممنون. ولی متغیر جای دیگه‌ای محاسبه شده. مثلا تعداد اعضا شمارش میشه که البته نمیدونم چطوری. فقط فکر کنم یک select count id نوشته که احتمالا تعداد رو از دیتابیس میخونه میده به users_total



(SELECT count(idu) FROM users) as users_total,



جای دیگه هم نوشته



elseif($_GET['b'] == 'stats') { // Security Admin Tab
$skin = new skin('admin/stats'); $page = '';


list($TMPL['messages_total'], $TMPL['messages_public'], $TMPL['messages_private'], $TMPL['comments_total'], $TMPL['users_today'], $TMPL['users_this_month'], $TMPL['users_last_30'], $TMPL['users_total'], $TMPL['total_reports'], $TMPL['pending_reports'], $TMPL['safe_reports'], $TMPL['deleted_reports'], $TMPL['total_message_reports'], $TMPL['pending_message_reports'], $TMPL['safe_message_reports'], $TMPL['deleted_message_reports'], $TMPL['total_comment_reports'], $TMPL['pending_comment_reports'], $TMPL['safe_comment_reports'], $TMPL['deleted_comment_reports'], $TMPL['total_likes'], $TMPL['likes_today'], $TMPL['likes_this_month'], $TMPL['likes_last_30']) = users_stats($db);




که این متغیر ها فقط تو صفحه ادمین کار میکنند تو صفحه اصلی سایت نمیتونم بذارم.