redhat2
چهارشنبه 11 بهمن 1391, 16:57 عصر
سلام به دوستان ، من یک سوال داشتم فرض میکنیم که من در صفحه ی member.php هستم ، هنوز هم session کاربری را ندارم ، بنابراین یه لینک تویه این صفحه هست که منو به صفحه ی login.php منتق میکنه ، بعد من یوزر و پسورد را وارد میکنم ، میگه که اشتباه هست ، یعنی یه بار دیگه صفحه ی login.php ؤا برای من مییاره تا اطلاعات را دوباره وارد کنم من هم اطلاعات را دوباره وارد میکنم قبول میکنه و Sesssion من را ذخیره میکنه ، حالا من میخوام که برگردم به صفحه ی member.php باید چیکار کنم اینام کدای منه :
login.php
<?php
require_once('includes/users.class.php');
$object = new users();
if(isset($_POST['username']))
{
$object->login($_POST['username'],$_POST['password']);
}
?>
<html>
<head>
<title>Register</title>
<link rel="stylesheet" href="css/stylesheet.css" />
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<label>Username : </label>
<input type="text" name="username" /><br><br>
<label>Password : </label>
<input type="password" name="password" /><br><br>
<input type="submit" value="login" /><br><br>
</form>
</body>
</html>
users.class.php :
<?php
require_once('funcs.class.php');
class users extends funcs
{
protected $_dbusername;
protected $_dbpassword;
// .... // .... // .... //
function login($dbusername,$dbpassword)
{
global $dbresult,$dbfetchrow;
$this->_dbusername = $dbusername;
$this->_dbpassword = $dbpassword;
$dbresult = $this->existUsername($this->_dbusername);
if($dbresult)
{
$dbresult = $this->UsernameLinkedPassword($this->_dbusername,$this->_dbpassword);
if($dbresult)
{
$dbfetchrow = $this->fetchIdUsername($this->_dbusername);
$this->setSession($this->_dbusername);
header("location:member.php");
}
}
}
function logout($issetSession)
{
if($this->issetSession($issetSession))
{
session_destroy();
}
return false;
}
}
?>
این که نوشتم header را برای انجام اینکاری که گفتم چه جوری باید تغییر بدم ؟
member.php :
<?php
session_start();
if(isset($_SESSION['username']))
{
echo "salam";
}
else
{
echo 'click me '.'<a href="login.php">click</a>';
}
?>
login.php
<?php
require_once('includes/users.class.php');
$object = new users();
if(isset($_POST['username']))
{
$object->login($_POST['username'],$_POST['password']);
}
?>
<html>
<head>
<title>Register</title>
<link rel="stylesheet" href="css/stylesheet.css" />
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<label>Username : </label>
<input type="text" name="username" /><br><br>
<label>Password : </label>
<input type="password" name="password" /><br><br>
<input type="submit" value="login" /><br><br>
</form>
</body>
</html>
users.class.php :
<?php
require_once('funcs.class.php');
class users extends funcs
{
protected $_dbusername;
protected $_dbpassword;
// .... // .... // .... //
function login($dbusername,$dbpassword)
{
global $dbresult,$dbfetchrow;
$this->_dbusername = $dbusername;
$this->_dbpassword = $dbpassword;
$dbresult = $this->existUsername($this->_dbusername);
if($dbresult)
{
$dbresult = $this->UsernameLinkedPassword($this->_dbusername,$this->_dbpassword);
if($dbresult)
{
$dbfetchrow = $this->fetchIdUsername($this->_dbusername);
$this->setSession($this->_dbusername);
header("location:member.php");
}
}
}
function logout($issetSession)
{
if($this->issetSession($issetSession))
{
session_destroy();
}
return false;
}
}
?>
این که نوشتم header را برای انجام اینکاری که گفتم چه جوری باید تغییر بدم ؟
member.php :
<?php
session_start();
if(isset($_SESSION['username']))
{
echo "salam";
}
else
{
echo 'click me '.'<a href="login.php">click</a>';
}
?>