这是来自class.user.php的函数login()和is_logged_in()函数。 我使用is_logged_in()来返回我在login()函数上创建的会话。
public function login($email,$upass) //
{
try
{
$stmt = $this->conn->prepare("SELECT * FROM pelanggan WHERE email_pel=:email_id");
$stmt->execute(array(":email_id"=>$email));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($stmt->rowCount() == 1)
{
if($userRow['status_pel']=="Y")
{
if($userRow['pass_pel']==md5($upass))
{
$_SESSION['userSession'] = $userRow['id_pel'];
return true;
}
else
{
header("Location: login.php?error");
exit;
}
}
else
{
header("Location: login.php?inactive");
exit;
}
}
else
{
header("Location: login.php?error");
exit;
}
}
catch(PDOException $ex)
{
echo $ex->getMessage();
}
}
public function is_logged_in()
{
if(isset($_SESSION['userSession']))
{
return true;
}
}
在login.php中
<?php
session_start();
require_once 'class.user.php';
$user_login = new USER();
if($user_login->is_logged_in()!="")
{
$user_login->redirect('index.php?modul=login');
}
if(isset($_POST['btn-signin']))
{
$email = trim($_POST['email_log']);
$upass = trim($_POST['password_log']);
if($user_login->login($email,$upass))
{
$user_login->redirect('index.php?modul=login');
}
}
?>
我使用is_logged_in()函数更改此按钮,但它不起作用。我已经使用了其他条件,但它仍然无法正常工作。这两个按钮都没有显示,只有其中一个。
<div class="btnmasuk span1">
<?php
require_once 'class.user.php';
$user_login = new USER();
if(!$user_login->is_logged_in()){ // I use false condition
echo '<a href="logout.php"><button class="btn btn-danger">Keluar</button></a>';
}else{
echo '<a href="login.php"><button class="btn btn-primary">Masuk</button></a>';
}
?>
</div>
我该如何解决这个问题?抱歉我的英语不好。
答案 0 :(得分:0)
您可以使用if语句检查用户是否已登录:
u_naam
可以是登录用户值
<?php
if (isset($_SESSION['u_naam'])) {
echo '<form action="includes/logout.inc.php" method="POST">
<button type="submit" name="submit">Logout</button>
</form>';
} else {
echo '<form action="includes/login.inc.php" method="POST">
<input type="text" name="uid" placeholder="Username">
<input type="password" name="pwd" placeholder="password">
<button type="submit" name="submit">Login</button>
</form>
';
}
?>
答案 1 :(得分:0)
<强>登录强>
public function getLogin($user, $pass)
{
// Your query goes here to get Login info based on given $user and $pass.
$_SESSION['user_logged_in'] = true;
}
在代码中显示按钮:
<?php if( $_SESSION['user_logged_in']): ?>
<!-- show HTML logout button -->
<?php else: ?>
<!-- show HTML login button -->
<?php endif; ?>
我希望你明白我的意思。您需要根据我上面写的内容优化您的代码。
让我知道!