晚上好,我在PHP编码中遇到了一些问题。登录后即使在代码中已经包含$ _SESSION ['username']和session_start(),我也无法在下一页显示用户名。谁能帮我指出问题所在?代码如下:
login.php:
include_once 'dbconnection.php';
$msg = '';
if (!isset($_SESSION)) {
session_start();
if(isset($_POST['button']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$MM_redirectLoginSuccess = "dashboard.php";
$MM_redirectLoginFailed = "adminLogin.php";
$MM_redirecttoReferrer = false;
$username = mysqli_real_escape_string($dbcon,$username);
$password = mysqli_real_escape_string($dbcon,$password);
$sql = "SELECT * FROM admin WHERE user_name = '".$username."' and password = '".$password."'";
$result = mysqli_query($dbcon,$sql);
if ($count = mysqli_fetch_array($result))
{
$_SESSION['username'] = $count['username'];
$_SESSION['password'] = $count['password'];
header("location: dashboard.php");
$successmsg = "Successfully Register!";
echo "<script type ='text/javascript'>alert('$successmsg')</script>";
}
else {
$errormsg = "Wrong Username or Password. Please retry.";
echo "<script type = 'text/javascript'>alert('$errormsg')</script>";
}
}
}
?>
index.php:
<?php
//initialize the session
if (!isset($_SESSION)) {
session_start();
}
?>
<!-- User Account -->
<li class="dropdown user user-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<span class="hidden-xs">
<?php echo $_SESSION['username'];?>
</span>
</a>
答案 0 :(得分:0)
您的代码存在一些问题:
标头函数的用法:“位置”强制重定向,因此您仅应在此之后调用exit()。
检查是否设置了会话:您应该从php 5.4版开始执行类似的操作:
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
将isset用于更具体的内容,例如:
if (isset($_SESSION['username']){
// do something
}