PDA

View Full Version : سوال: مشکل با رجیستر کردن متغیر username برای لوگین کردن



rezarss
شنبه 30 بهمن 1389, 13:02 عصر
یه صفحه php دارم که دو متغیر username و password رو می گیره و تو دیتا بیس سرچ می کنه و اگه وجود داشت متغیر username و password رو اینجوری
session_register("username");
session_register("password");
session_register();
رجیستر می کنه و متغیر username و password رو با سشن به صفحه اصلی می فرسته و با تابع header() کاربر به صفحه اصلی ریدارکت می شه.
مشکل اینجاست که رو local به درستی کار می کنه ولی وقتی تو هاست upload کردم، تو این صفحه php، ارور میده و کاربر به صفحه اصلی ریدایرکت نمی شه. اینم ارورها:
Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at /www/99k.org/r/a/d/radup/htdocs/my project/checklogin.php:1) in /www/99k.org/r/a/d/radup/htdocs/my project/checklogin.php on line 33

Warning: Cannot modify header information - headers already sent by (output started at /www/99k.org/r/a/d/radup/htdocs/my project/checklogin.php:1) in /www/99k.org/r/a/d/radup/htdocs/my project/checklogin.php on line 40

alasht
شنبه 30 بهمن 1389, 15:44 عصر
با سلام
شما ابتدا این دستورات رو باید به این صورت بنویسید

if($count==1){
ob_start();
// Register $myusername, $mypassword and redirect to file "login_success.php"
echo "username and password accepted";
session_register("username");
session_register("password");
session_register();
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
$_SESSION['name'] = $name;
$_SESSION['image'] = $image;
header('location:main.php');
ob_end_flush();
}بعد encoding رو هم Encode in UTF-8 Without BOM بزارید

دانلود فایل ویرایش شده : 66589

rezarss
شنبه 30 بهمن 1389, 21:07 عصر
مرسی. به درستی به صفحه اصلی لوگین کرد و حل شد.
ولی با unregister ش هم همین مشکلو دارم و متغیر username آنرجیستر نمی شه برای لوگ اوت کردن.

alasht
یک شنبه 01 اسفند 1389, 00:48 صبح
سلام
این فایل رو جایگزین کنید ببینید درست میشه یا نه

rezarss
یک شنبه 01 اسفند 1389, 04:15 صبح
این که همون فایل خودمه. تغییری توی فایل صورت نگرفته که.
مطمئنید که فایل ویرایش شده توسط خودتون رو ضمیمه کردین؟

MMSHFE
یک شنبه 01 اسفند 1389, 07:35 صبح
دوست گرامي بهتره به جاي session_register از خود آرايه SESSION_$ استفاده كنيد. ضمناً براي حذف هم از تابع unset استفاده كنيد. مثال:


$_SESSION['username']=$username; //instead of session_register('username',$username);
//and
unset($_SESSION['username']); //instead of session_unregister('username');

موفق و مؤيد باشيد.