PDA

View Full Version : login و session



mahtab_m
چهارشنبه 30 مرداد 1387, 07:29 صبح
سلام دوستان .
تو صفحه ی login از این کد من همش خطا میگیره
header('location:homepage.php');
میشه راهنمایی کنید؟

<?php
$_SESSION['login']=false;
$user=$_POST['username'];
$pass=$_POST['pass'];
$con=mysql_connect('localhost','root','') or die('error connecting db! ');
mysql_select_db('university',$con) or die ('error selecting db!');
$query="select *from login where stdid='$user' and password='$pass'";
$result=mysql_query($query) or die ('error executing sql');
if(mysql_num_rows($result)==1)
{
$_SESSION['login']=true;
$_SESSION['us']=$user;
$_SESSION['pw']=$pass;

header('location:homepage.php');

}
else{ ?>
<script language="javascript">
var t=window.alert("نام کاربری و رمز عبور نادرست می باشد.");
if(t==true)
window.location="login.php";
else(window.location="login.php");
</script>
<?php }?>

maysamscript
چهارشنبه 30 مرداد 1387, 09:56 صبح
اول session رو استارت کردی؟
درضمن قبل از استارت سشن نباید هیچ چیز در صفحه چاپ بشه

tabib_m
چهارشنبه 30 مرداد 1387, 10:02 صبح
headers already sent؟؟

http://www.google.com/cse?cx=010277259273172057471%3Agbud9yj2nhi&q=headers+already+sent&cof=FORID%3A11&x=0&y=0

aarash_v
چهارشنبه 30 مرداد 1387, 11:17 صبح
این ارور 99% مواقع برای اینه که فایل PHP تون رو با انکدینگ UTF-8 سیو کرده اید.
باید به جای این کار از این استفاده کنید:
<meta charset="utf-8">

s.mostafa.rahmani
چهارشنبه 30 مرداد 1387, 11:29 صبح
این ارور 99% مواقع برای اینه که فایل PHP تون رو با انکدینگ UTF-8 سیو کرده اید.
باید به جای این کار از این استفاده کنید:
<meta charset="utf-8">

ميشه بيشتر توضيح بديد. :متعجب:
اگه فايل PHP رو Utf-8 ذخيره نكنيم كه متنهاي فارسي به هم مي‌ريزن.

sama01
چهارشنبه 30 مرداد 1387, 16:50 عصر
1. همیشه پیام خطا را هم بنویسید تا بهتر بتوان راه‌نمایی کرد. (هر چند در این مورد به دلیل کثرت، دلیل خطا مشخصه)
2. به جای استفاده از header از این استفاده کنید:

echo ('<META HTTP-EQUIV=Refresh CONTENT="0; URL=pageURL">');3. بعد از این کد، حتما از die یا exit استفاده کنید.

tabib_m
چهارشنبه 30 مرداد 1387, 17:15 عصر
این ارور 99% مواقع برای اینه که فایل PHP تون رو با انکدینگ UTF-8 سیو کرده اید.
باید به جای این کار از این استفاده کنید:
<meta charset="utf-8">
خواهشا اطلاعاتتون رو تکمیل کنید، بعد ارائه بدید!
بله! اگر فایل رو توی notepad ویرایش کنید و در فایل از عبارات فارسی استفاده کنید و به صورت utf-8 ذخیره کنید، ابتدای فایل یک سری کاراکتر اضافه میکنه که علت اصلی دردسر همون هاس!

مشکل اصلی ای که اکثرا با Header دارن اینه که دستورات header باید قبل از این که هیچ چیزی echo بشه و به مرورگر فرستاده بشه استفاده بشن! طبیعتا دستورات خارج از <? ?> هم حکم همون echo رو دارن!

بهتره برای این که مشکل اضافه شدن کاراکتر به اول فایل پیش نیاد بهتره از ادیتور های مناسب استفاده کنید...


موفق باشید.

abdonsd
پنج شنبه 31 مرداد 1387, 17:30 عصر
من با دريم وييوير نوشتم اما بازهم همين خطا رو ميگيره
به اضافه اين خطا:
Cannot send session cookie - headers already sent by .......

sama01
جمعه 01 شهریور 1387, 10:49 صبح
پیام خطایی که داده می‌شود، ارسال header را مربوط به کدام خط از برنامه اعلام می‌کند؟
لطفا متن کامل آن را ارسال کنید.

tabib_m
جمعه 01 شهریور 1387, 17:03 عصر
مطمئنی قبل از استفاده از header هیچ چیزی echo نشده؟ (حتی محتوای فایلهایی که include شدن هم حساب میشه!!!)