PDA

View Full Version : مبتدی: خطا در استفاده از Session



rezavb6
یک شنبه 31 شهریور 1392, 22:34 عصر
من دارم php تمیرین میکنم به یک مشکلی در استفاده از سثسسهخد برخورد کردم
میخوام وقتیکه طرف یوزر و پسورد وارد کرد اگر درست بود تو صفحات بعدی که میره دیگه لازم نباشه دوباره یوزر و پسورد وارد کنه در عین حال جای یوزر و پسورد در حالت login پنهان باشه
تا اینجا فهمیدم باید از Session استفاده کرد من استفاده کردم اما خطا میده علتشو نمیدونم چیه کد میزارم ببینید کسی میدونه مشکل از چیه
در ضمن میخوام وقتی خروج میزنه سشن پاک بشه

این کدی هست که من نوشتم





<?php
session_start();
include_once("header.php");
$logout=$_GET['logout'];
if (isset($logout))
{
session_destroy();

}
?>

<form action=login.php method=post>
<center>
<label>Username:</label><br>
<input type="text" name="user"/><br>
<label>password:</label><br>
<input type="password" name="pass"/><br>
<input type="submit" value="login"></p>
</center>
</form>










<?php

?>

<?php
$user=$_POST["user"];
$pass=$_POST["pass"];
if (isset($pass) and isset($user))
{
$pass=md5($pass);
$db=mysql_select_db("rsk");
$str="SELECT * FROM company WHERE LOWER(user)='reza' AND pass='$pass'";
$load=mysql_query($str);

if($load && mysql_num_rows($load) > 0) {

echo "<p>Welcome {$user}.</p>";
echo '<p><a href="login.php?logout=1">exit main page</a></p>';

$_SESSION['login']=$user;
}
else
{


ECHO "user or password is wrong";

}


}



?>









این هم خطایی که میده
Warning: session_start() [function.session-start (http://barnamenevis.org/function.session-start)]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\risk assessment\login.php:2) in C:\wamp\www\risk assessment\login.php on line 3

Warning: session_start() [function.session-start (http://barnamenevis.org/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\risk assessment\login.php:2) in C:\wamp\www\risk assessment\login.php
on line 3


Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:\wamp\www\risk assessment\login.php on line 21

hasanak852
یک شنبه 31 شهریور 1392, 22:54 عصر
فک کنم دوتا خطای اولت به خاطر اینه که قبلا session_startرو اجرا کردی
این برنامه تو هر بار ورود ابتدا سشن رو پاک میکنه بعد ادامه میده! چون از تابع isset استفاده کردی، اینجوری بذار:


if (!empty($logout)){
session_destroy();
}
اینجوری خطای سوم رفع میشه

Veteran
یک شنبه 31 شهریور 1392, 22:55 عصر
سلام این اینکو ی نگاه بنداز
(http://barnamenevis.org/showthread.php?356992-%D9%BE%D8%B1%D8%B3%D8%B4%D9%87%D8%A7%DB%8C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C&p=1576420&viewfull=1#post1576420)