PDA

View Full Version : loginكردن به بخش مديريت سايت



bps20590
پنج شنبه 03 بهمن 1387, 08:30 صبح
با سلام
من مي خواهم كه بادادن رمزورود وكدكاربري وارد بخش مديريت سايت شوم براي اين كار از session استفاده كرده ام براي كسي كه بار اول وارد ميشه مشكلي ندارد ولي براي دفعات بعد برمي گردد سر همان صفحه ورود به بخش مديريت وتا زمانيكه فايلي را كه بنام logut ايجاد كردم توسط كاربر اجرا نشود نمي تواند دوباره وارد شود كدهايي هم كه نوشتم درپائين هست لطفا مشكل را برام بگوئيد.


<table border="1" align="center" cellpadding="0" cellspacing="0">

<tr>
<td bgcolor="#e5ecf9" class="mnubody">
<form name="form1" method="post" >
<br>
<p align="center">ايميل:

<input name="email" type="text" id="email" size="15" dir="ltr">
</p>
<p align="center"> رمــزورود:
<input name="pwd" type="password" id="pwd" size="12" dir="ltr">
</p>
<center>
<input type="submit" name="input" 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>
<tr><td align="center" style="background:#176C96;color:white;line-height: 170%" height="25"><a style="color:white" href="logout.php" target="_self">درصورت عدم موفقيت در ورود به سايت اينجا كليك كنيد</a></td>
</tr>
</table>

<?php

$message="";
$user_email = mysql_real_escape_string($_POST['email']);

if (isset($_POST['input']))
{
session_unset();
session_destroy();



$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.

list($user_id,$user_email) = mysql_fetch_row($result);
// this sets variables in the session
$_SESSION['user']= $user_email;
$_SESSION['password']=$_POST['pwd'];
echo $_SESSION['user'];
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=manager.php\">");


} else
{ $message="--- رمزواردشده اشتباه ميباشد ---";
echo '<center><font color=#800000 size=2><b>'.$message.'</b></font></center>';
session_unset();
session_destroy();
//echo ("<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=login.php\">");
}
}
?>

اينهم فايل logout

<?php
session_start();
if (session_name()=='') {
session_start();
}
else {
session_destroy();
session_start();
session_regenerate_id();
setcookie(session_name(), session_id());
}
echo ("<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=login.php\">");
exit;
?>

Yousha
پنج شنبه 03 بهمن 1387, 10:06 صبح
عزیز پستتون رو ویرایش کنید و در تگ Code قرار بدید تا خوانا بشه.

narsic
پنج شنبه 03 بهمن 1387, 12:48 عصر
با سلام
از دستور session_start(); در ابتدای شروع PHP استفاده کنید .
موفق باشید