[英]Display username once user has logged in
您好,我嘗試在他們登錄后顯示用戶名。
這是我的代碼
這是我要顯示的頁面。 的index.php
<?php
require_once 'classes/Membership.php';
$membership = New Membership();
$membership->confirm_Member();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home Page</title>
<link href="css/me.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top">
</div>
<div id="top-register">
<?
$_SESSION['username']
?>
<a href="login.php?status=loggedout">
Log Out </a>
</div>
<div id="top-login">
<a href="index.php"> </a>
</div>
<div id="line">
<div id="banner-text">
Testing
</div>
<div id="banner">
</div>
</div>
<center>
<div id="plan">
<div id="plan-innder">
<a href="index.php"><img src="images/plan/starter.png" alt="Starter" width="250" height="300" /></a>
<a href="index.php"><img src="images/plan/regular.png" alt="Regular" width="250" height="300" /></a>
<a href="index.php"><img src="images/plan/advanced.png" alt="Advanced" width="250" height="300" /></a>
</div>
</div>
enter code here
</center>
</body>
</html>
工作原理membership.php
<?php
require 'Mysql.php';
class Membership {
function validate_user($un, $pwd) {
$mysql = New Mysql();
$ensure_credentials = $mysql->verify_Username_and_Pass($un, md5($pwd));
if($ensure_credentials) {
$_SESSION['status'] = 'authorized';
header("location: index.php");
} else return "Please enter a correct username and password";
}
function log_User_Out() {
if(isset($_SESSION['status'])) {
unset($_SESSION['status']);
if(isset($_COOKIE[session_name()]))
setcookie(session_name(), '', time() - 1000);
session_destroy();
}
}
function confirm_Member() {
session_start();
if($_SESSION['status'] !='authorized') header("location: login.php");
}
}
Mysql.php
這就是連接到數據庫的內容。
require_once 'includes/constants.php';
class Mysql {
private $conn;
function __construct() {
$this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or
die('There was a problem connecting to the database.');
}
function verify_Username_and_Pass($un, $pwd) {
$query = "SELECT *
FROM users
WHERE username = ? AND password = ?
LIMIT 1";
if($stmt = $this->conn->prepare($query)) {
$stmt->bind_param('ss', $un, $pwd);
$stmt->execute();
if($stmt->fetch()) {
$stmt->close();
return true;
}
}
}
}
在您的index.php中,編寫以下代碼:
<div id="top-register">
<?
echo "Hello" .$_SESSION['username'];
?>
創建一個會話變量,該變量將保存從查詢中獲取的用戶名,然后在頁面中回顯該會話變量。
我認為,您之前錯過了回聲。 更改
<?
$_SESSION['username']
?>
至
<?
echo $_SESSION['username']
?>
在班級成員資格中更改此...
if($ensure_credentials) {
$_SESSION['status'] = 'authorized';
header("location: index.php");
} else return "Please enter a correct username and password";
為此...
if($ensure_credentials) {
$_SESSION['status'] = 'authorized';
$_SESSION['username'] = $un;
header("location: index.php");
} else return "Please enter a correct username and password";
我在用戶登錄頁面上使用了相同的nettuts教程。 這就是我可以在index.php頁面上顯示登錄用戶的方法。
在INDEX.PHP正文中插入頁面:
<?php
echo "Welcome ", $_SESSION['username'];
?>
我認為您錯過了在index.php頁面上開始會話的時間,因此請在頁面開頭輸入此行
session_start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.