مشكل در اجراي session

pezhman32

Active Member
مشكل در اجراي session و سوال در مورد smarty

سلام
راستش نمي دونم كه چرا زماني كه يك سشن رو شروع و رجيستر مي كنم در صفحه ي بعد وجود خارجي نداره!
كد من اشتباهه يا بايد نتظيمات خاصي انجام بدم؟ (يه كم فوريه لطفا)
index.php:
کد:
<?
session_start();
session_register("user");
$user="pezhman";
if (session_is_registered("user")){
    print "HI<br>";
} else {
    print "BYE<br>";
}
print "<a href=fun.php>aaa</a>";
?>
fun.php:
کد:
<?
session_start();
if (session_is_registered("user")){
    print "HI<br>";
} else {
    print "BYE<br>";
}
print $user;
?>
بعد يه سوال هم در مورد smarty داشتم كه آيا استفاده از اسمارتي در سرعت بارگزاري سايت هم تاثيري داره يا نه؟
 
آخرین ویرایش:

pezhman32

Active Member
راستي يادم رفت بگم
در صفحه ي index.php سشن رجيستر مي شه و در قسمت ثبت سشن ها نيز در يك فايل با كد:
کد:
user|s:7:"pezhman";
ثبت مي شه اما در صفحه ي دوم اثري ازش نيست:cry:
 

pezhman32

Active Member
درستتون درد نكنه
خودم يه چيزي پيدا كردم اونهم اينه كه بايد ثابت SID رو به اسم صفحه ي مورد نظر اضافه كنيد تا سشن قبلي در اون صفحه كار كنه... پس از افزودن ثابت SID اون تبديل ميشه به شناسه سشن كه خيلي هم گنده و بيريخته...
كسي راهي سراغ داره كه بشه بدون اون هم كار كرد يا نه؟
در ضمن يه سوال مهم ديگه هم داشتم
همونطور كه مي دونين فايل هاي مثلا jpeg در php اينطوري استند:
image/jpeg و...
حالا مي خواستم بدونم فايل هاي وب مثلا php و فايل هاي zip چطوري نوشته ميشن...(خيلي مهم و فوري:twisted: )
 

pezhman32

Active Member
ممنون
شما كه اينقدر كمك كردين پس لطفا اينيكي رو هم راهنمايي كنين:
در مورد اون يارو SID فهميدم مشكل چي بود.
مشكل نرم افزار Zonalarm Security Suit With anty virus بود كه بعد از خاموش كردن مشكل حل مي شد...!!!
البته نمي دونم ربطش چيه ولي كسي مي دونه چجوري بايد تنظيمش كنم تا درست كار كنه؟.چون نمي خوام uninstall بكنمش.آخه هربار بدون ZoneAlarm ميرم اينترنت درجا هك ميشم و مجبورم ويندوز عوض كنم.
اگه ممكنه راهنمايي كنين.
 

fahimehf

Member
سلام
تشکر از اینکه تجربیاتتون انتقال میدید.
میخواستم بدونم که چطور باید ثابت Sid رو اضافه کنم؟
اگه میشه کدش بذارید ممنون میشم.
 

alireza82

Well-Known Member
سلام
بی مقدمه ، میتونید از این روش استفاده کنید. دوستان اگه مشکلی دارید و مشکلتون اینه که قبلا کار نکردید یا نمیدونید چه جوریه اول یه سر به www.php.net بزنید. یه سرچ اونجا بکنید انقدر اطلاعات میاره جلوتون + کد که خیلی هاش بدردتون هم نمیخوره. سوء تفاهم نشه خود منم همین کار رو میکنم. ا
PHP:
<?php
session_start();
$_SESSION["admin"]=1;
در فایل دوم
PHP:
session_start();
if($_SESSION["admin"]==1){
echo "welcome admin ";
موفق باشید.
 
آخرین ویرایش:

fahimehf

Member
تشکر از همتتون
البته چون توی دریم اور کدنویسی می کنم و ابتدای هرصفحه ای هدر داره ، باید از یک روش دیگه ای استفاده می کردم.
من یک راه حل بسیار راحت و کاربردی پیدا کردم که رد خور نداشت :
و از این دوست محترم که این پاسخ گذاشتند ممنونم:
نقل قول :
راه حلی که همیشه من استفاده میکنم اینه که همه این دستورات رو در یه function استفاده میکنم و مقادیر متنساب رو به خروجی function پاس میدم سپس در ابتدای کد ها اون function رو فراخونی میکنم. و براحتی از خروجی function در ادامه برنامه استفاده میکنم...
 

alireza82

Well-Known Member
سلام
برای رفع مشکلات مربوط به ارسال هدر فقط کافیه ابتدادی کدتون
ob_start();
و انتهای کدتون
ob_end_flush();
رو قرار بدید. چون مقعی که include هم میکنید این مشکل بعضی مواقع پیش میاد. به هر حال
موفق باشید.
 

fahimehf

Member
با تشکر از شما
یک راه حل خیلی ساده پیدا کردم که کاربردی و من خودم توی فایلام از این روش استفاده کردم و هیچ مشکلی پیش نیومد.
چون با دریم کار می کنم اولین خط یه تگ php باز می کنم و session_start می نویسم . بعد تگ می بندم و بعدش اگر کدی دررابطه با هد یا ... می خواد بیاد ، بیاد.
احتیاجیم به استفاده از تابع نیست.
 

fahimehf

Member
هیچ مشکلی پیش نیومد.
باید حرفم اصلاح کنم!
البته ناگفته نمونه که گاهی اوقات وقتی که require انجام میدم خطا میگیره (warning) اما تا حالا مشکلی توی اجرای برنامه بوجود نیاورده!
دوستان اگر نظری داشته باشند خوشحال میشم نظراتشون ببینم.
 

جدیدترین ارسال ها

بالا