PDA

View Full Version : استفاده از session



bps20590
جمعه 03 آبان 1387, 21:05 عصر
با سلامن
من از session براي ورود به بخش مديريت سايتم استفاده مي كنم ولي مشكل اينجاست كه هميشه با يد اول گزينه خروج را بزنم بعد كدكاربري ورمز راوارد كنم علت اينكار چيه

yaqubian
جمعه 03 آبان 1387, 22:24 عصر
دوست عزیز
می شه کدتون رو بزارید؟
موفق باشید

narsic
شنبه 04 آبان 1387, 01:43 صبح
session ها تنها تا زمان باز بودن صفحه وجود دارن و بعد از اون از بین میرن .
کدتون رو بذارید

bps20590
شنبه 04 آبان 1387, 09:35 صبح
قسمتي از تابع login.php
#<div id="contant" >
<?php
error_reporting(0);
session_start();
if (isset($_SESSION['user']))
{
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=sabt_prj.php\">");
exit;
}

?>
<center>
براي ورودبه قسمت ثبت پروژه ها بايد درسايت عضو شده وعضويت شما فعال شده باشد <br><br>
براي عضويت
<a href="ozviat.php" target="_self" title="عضويت درسايت"><b>اينجــا</b></a>
را كليك كنيد </center>
<br>
<table width="50%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#d5e8f9" class="mnuheader" >
<div align="center"><font size="2">وروداعضاء</font></div></td>
</tr>
<tr>
<td bgcolor="#e5ecf9" class="mnubody">
<form name="form1" method="post" >
<br>
<p align="center">ايميل:

<input name="email" type="text" id="email" size="40" dir="ltr">
</p>
<p align="center"> رمزورود:
<input name="pwd" type="password" id="pwd" dir="ltr">
</p>
<center>
<input type="submit" name="submit" value="&nbsp;&nbsp;&nbsp;ورود&nbsp;&nbsp;&nbsp;" class="btn">
<br><br>
<a href="register.php">عضويت</a> | <a href="forgot.php">رمزرافراموش كرده ام</a></center>
</form></td>
</tr>
</table>
<br>
<center>
درصورت عدم موفقيت در ورود به قسمت ثبت پروژه ها
<a href="logout.php" target="_self" title="خروج"><b>اينجــا</b></a>
راكليك كرده <br>
ودوباره برروي گزينه ثبت پروژه هاي اعضاء كليك كنيد
</center><br>
<?php
include 'db_connect.php';
error_reporting(0);
$message="";
$user_email = mysql_real_escape_string($_POST['email']);

if (isset($_POST['submit']))
{
$md5pass = md5($_POST['pwd']);
$sql = "SELECT id,user_email FROM users WHERE
user_email = '$user_email' AND
user_pwd = '$md5pass' AND user_activated='1'";

$result = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($result);

if ( $num != 0 ) {
// A matching row was found - the user is authenticated.
session_start();
list($user_id,$user_email) = mysql_fetch_row($result);
// this sets variables in the session
$_SESSION['user']= $user_email;
$_SESSION['password']=$_POST['pwd'];
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=sabt_prj.php\">");
// exit;
// echo '<center>جهت ورود به كنتـرل پنـل شخصي '.'<b><a href="manager.php" target="_self">اينجــا</a></b>'.'را كليك كنيد </center><br>';
//echo "Logged in...";
} else
{ session_unset();
session_destroy();
echo '<center><div style="background:red;height:17px;width:50%;align:center">
<font color="white">كاربري بااين مشخصات ثبت نشده ويا عضويت شما فعال نشده است لطفا وارد ايميل خود شده وبرروي لينك دريافتي كليك كنيد</font> </div></center><br>';
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"5; URL=login.php\">");}
exit;
}

?>

</div>
#

bps20590
شنبه 04 آبان 1387, 09:36 صبح
ببخشيد اگر به هم ريخته است نمي دونم بايد كدها راداخل چه تگي قرار بدهم كه اينجا درست نمايش داده شوند

yaqubian
شنبه 04 آبان 1387, 10:15 صبح
دوست عزیز
تو یه صفحه فقط نیازه که یه بار شما session رو start کنید.
یه کد نمونه واستون گذاشتم.
موفق باشید

yaqubian
شنبه 04 آبان 1387, 10:16 صبح
دوست عزیز
در ضمن واسه اینکه اول هر صفحه چک کنید ببینید که کاربر لاگین کرده یا نه می تونید از کد زیر استفاده کنید (البته با توجه به کدهای قبلی)

<?php
session_start();
if(!session_is_registered("loginname"))
{
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=index.php\">");
exit();
}
موفق باشید