Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果他';s已登录(PHP)_Php_Html_Session - Fatal编程技术网

如果他';s已登录(PHP)

如果他';s已登录(PHP),php,html,session,Php,Html,Session,我搜遍了网,但找不到解决办法。我试过很多不同的方法,但都不管用。我的标题总是显示登录,而不是欢迎“用户”和注销按钮。这就是我的代码,在我看来,应该没有理由不起作用,但我确信我犯了一点语法错误,或者可能我真的太离谱了 <?php require_once('WebsiteUser.php'); session_start(); session_regenerate_id(false); ?> <!DOCTYPE html> <html> <header

我搜遍了网,但找不到解决办法。我试过很多不同的方法,但都不管用。我的标题总是显示登录,而不是欢迎“用户”和注销按钮。这就是我的代码,在我看来,应该没有理由不起作用,但我确信我犯了一点语法错误,或者可能我真的太离谱了

<?php

require_once('WebsiteUser.php');
session_start();
session_regenerate_id(false);
?>
<!DOCTYPE html> 
<html>
<header class="clearfix">
            <a href="index.php"><img src="images/blaktop.jpg" alt="blaktop logo" title="blaktop"/></a>
            <div id="signin">
                <?php
if(isset($_SESSION['WebsiteUser']))
{
      echo("Welcome " . $_SESSION['username']);// displays username
  echo("<a href='logout.php'>Logout</a> ");
}
else
{
  echo("<a href='userlogin.php'>Login</a> ");
}
?>
            </div>
        </header>
 </html>

可能是您没有正确处理登录。我们无法从中分辨。请向我们展示您一直在调试的testcase()。@lightnessracesinorbit添加了一些我的代码,希望能对我们有所帮助。我要求提供您的testcase,并提供了一个链接,您可以通过该链接了解这是什么。
<?php

class WebsiteUser{
/* Host address for the database */
protected static $DB_HOST = "127.0.0.1";
/* Database username */
protected static $DB_USERNAME = "admin";
/* Database password */
protected static $DB_PASSWORD = "password";
/* Name of database */ 
protected static $DB_DATABASE = "btc";

private $username;
private $password;
private $name;
private $mysqli;
private $dbError;
private $authenticated = false;

function __construct() {
    $this->mysqli = new mysqli(self::$DB_HOST, self::$DB_USERNAME, 
            self::$DB_PASSWORD, self::$DB_DATABASE);
    if($this->mysqli->errno){
        $this->dbError = true;
    }else{
        $this->dbError = false;
    }
}
public function authenticate($username, $password){
    $loginQuery = "SELECT * FROM customer WHERE email = ? AND passwrd = ? ";
    $stmt = $this->mysqli->prepare($loginQuery);
    $stmt->bind_param('ss', $username, $password);
    $stmt->execute();
    $result = $stmt->get_result();
    if($result->num_rows == 1){
        $this->username = $username;
        $this->password = $password;
        $this->authenticated = true;
    }
    $stmt->free_result();
}
public function isAuthenticated(){
    return $this->authenticated;
}
public function hasDbError(){
    return $this->dbError;
}
public function getUsername(){
    return $this->username;
}
}
?>
if(isset($_POST['submit'])){
    if(isset($_POST['username']) && isset($_POST['password'])){
        if($_POST['username'] == "" || $_POST['password'] == ""){
            $missingFields = true;
        } else {
            //All fields set, fields have a value
            $websiteUser = new WebsiteUser();
            if(!$websiteUser->hasDbError()){
                $username = $_POST['username'];
                $password = $_POST['password'];
                $websiteUser->authenticate($username, $password);
                if($websiteUser->isAuthenticated()){
                    $_SESSION['websiteUser'] = $websiteUser;
                    header('Location:index.php');
                }
            }
        }
    }
}
<? 
$user = $_GET['user']; 
session_start(); 
$_SESSION['user'] = $user; 

if(isset($_SESSION['user'])){ 
} else { 
echo " 
<script language='javascript'> 
alert('Sorry, but you must login to view the members area!') 
</script> 
<script> 
window.location='http://example.com/login.html' 
</script> 
"; } 
?>




<? echo "Welcome, $user"; ?>