Php用户登录会话
注册和登录部分工作正常,但当用户登录后,标题处的欢迎消息仍然是“welcome guest”。如果我在创建会话或调用会话时出错,我无法找出原因 loginCheck.phpPhp用户登录会话,php,session,login,Php,Session,Login,注册和登录部分工作正常,但当用户登录后,标题处的欢迎消息仍然是“welcome guest”。如果我在创建会话或调用会话时出错,我无法找出原因 loginCheck.php session_start(); include ("connection.php"); if(isset($_POST["username"], $_POST["pw"])){ $username = mysql_real_escape_string($_POST["username"]); $pw =
session_start();
include ("connection.php");
if(isset($_POST["username"], $_POST["pw"])){
$username = mysql_real_escape_string($_POST["username"]);
$pw = mysql_real_escape_string(md5($_POST["pw"]));
$sql = mysql_query("SELECT * FROM uye WHERE kullanici_adi = '$username' AND sifre = '$pw'");
if(mysql_num_rows($sql) == 1){
$_SESSION["loggedIn"] = 1;
$_SESSION["username"] = $username;
die("ok");
}
else{
$_SESSION["loggedIn"] = "";
}
}
<?php
session_start();
include ("connection.php");
include ("html.php");
include ("login.php");
include ("signup.php");
?>
<body background="images/wallpaper-703170.jpg" class="background">
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<ul class="nav navbar-nav">
<a class="navbar-brand" href="/KacYakiyor/home.php">Kaç Yakıyor</a>
</ul>
<ul class="nav navbar-nav navbar-right">
<p class="navbar-text" id="welcome">
<?php
if (isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == 1) {
echo "Hoşgeldin" . $_SESSION['username'] . "!";
}
else{
echo "Hoşgeldin Ziyaretçi";
}
?>
</p>
<li><a data-toggle="modal" href="#loginModal" id="login">Giriş</a></li>
<li><a data-toggle="modal" href="#signupModal" id="signup">Üye Ol</a></li>
</ul>
</div>
header.php
session_start();
include ("connection.php");
if(isset($_POST["username"], $_POST["pw"])){
$username = mysql_real_escape_string($_POST["username"]);
$pw = mysql_real_escape_string(md5($_POST["pw"]));
$sql = mysql_query("SELECT * FROM uye WHERE kullanici_adi = '$username' AND sifre = '$pw'");
if(mysql_num_rows($sql) == 1){
$_SESSION["loggedIn"] = 1;
$_SESSION["username"] = $username;
die("ok");
}
else{
$_SESSION["loggedIn"] = "";
}
}
<?php
session_start();
include ("connection.php");
include ("html.php");
include ("login.php");
include ("signup.php");
?>
<body background="images/wallpaper-703170.jpg" class="background">
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<ul class="nav navbar-nav">
<a class="navbar-brand" href="/KacYakiyor/home.php">Kaç Yakıyor</a>
</ul>
<ul class="nav navbar-nav navbar-right">
<p class="navbar-text" id="welcome">
<?php
if (isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] == 1) {
echo "Hoşgeldin" . $_SESSION['username'] . "!";
}
else{
echo "Hoşgeldin Ziyaretçi";
}
?>
</p>
<li><a data-toggle="modal" href="#loginModal" id="login">Giriş</a></li>
<li><a data-toggle="modal" href="#signupModal" id="signup">Üye Ol</a></li>
</ul>
</div>
更新:问题似乎在于会话无法将一页传递到另一页。大家都知道这个问题是session_start()的问题,但我想我把它们放对了 Put
session_start()代码>在标题顶部,会话_start()必须在希望会话数据存在的每个页面上设置code>,并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送HTTP头。Putsession_start()代码>在标题顶部,会话_start()必须在希望会话数据存在的每个页面上设置code>,并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送HTTP头。Putsession_start()代码>在标题顶部,会话_start()必须在希望会话数据存在的每个页面上设置code>,并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送HTTP头。Putsession_start()代码>在标题顶部,会话_start()必须在希望会话数据存在的每个页面上设置code>,并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送HTTP头。检查您的条件。从您的代码中,条件似乎返回false,从而将您重定向到其他位置。检查您的条件。从您的代码中,条件似乎返回false,从而将您重定向到其他位置。检查您的条件。从您的代码中,条件似乎返回false,从而将您重定向到其他位置。检查您的条件。从您的代码来看,条件似乎返回false,从而将您重定向到其他位置
session_start();
include ("connection.php");
if(isset($_POST["username"], $_POST["pw"])){
$username = mysql_real_escape_string($_POST["username"]);
$pw = mysql_real_escape_string(md5($_POST["pw"]));
$sql = mysql_query("SELECT * FROM uye WHERE kullanici_adi = '$username' AND sifre = '$pw'");
if(mysql_num_rows($sql) == 1){
$_SESSION["loggedIn"] = 1;
$_SESSION["username"] = $username;
die("ok");
}
else{
$_SESSION["loggedIn"] = "";
}
}else{
$_SESSION['dummy'] = "dummy here";
}
尝试在logincheck.php和其他文件中执行此操作,在任何if语句之前执行print\r($\u会话)。如果打印了dummy,那么您的if语句是错误的,因为我怀疑这里的这一行:
if(isset($_POST["username"], $_POST["pw"])){
试试看
if(isset($_POST["username"] && $_POST["pw"])){
尝试在logincheck.php和其他文件中执行此操作,在任何if语句之前执行print\r($\u会话)。如果打印了dummy,那么您的if语句是错误的,因为我怀疑这里的这一行:
if(isset($_POST["username"], $_POST["pw"])){
试试看
if(isset($_POST["username"] && $_POST["pw"])){
尝试在logincheck.php和其他文件中执行此操作,在任何if语句之前执行print\r($\u会话)。如果打印了dummy,那么您的if语句是错误的,因为我怀疑这里的这一行:
if(isset($_POST["username"], $_POST["pw"])){
试试看
if(isset($_POST["username"] && $_POST["pw"])){
尝试在logincheck.php和其他文件中执行此操作,在任何if语句之前执行print\r($\u会话)。如果打印了dummy,那么您的if语句是错误的,因为我怀疑这里的这一行:
if(isset($_POST["username"], $_POST["pw"])){
试试看
if(isset($_POST["username"] && $_POST["pw"])){
在loginCheck.php中,能否尝试将两个条件之间的逗号更改为&&和,以查看它是否有效
而不是
if(isset($_POST["username"], $_POST["pw"])){
.....
}
尝试
在loginCheck.php中,能否尝试将两个条件之间的逗号更改为&&和,以查看它是否有效
而不是
if(isset($_POST["username"], $_POST["pw"])){
.....
}
尝试
在loginCheck.php中,能否尝试将两个条件之间的逗号更改为&&和,以查看它是否有效
而不是
if(isset($_POST["username"], $_POST["pw"])){
.....
}
尝试
在loginCheck.php中,能否尝试将两个条件之间的逗号更改为&&和,以查看它是否有效
而不是
if(isset($_POST["username"], $_POST["pw"])){
.....
}
尝试
在if stateMetnse之前,尝试在header.php上打印会话。在每个页面的顶部都有一个会话start(),它使用$\u session[]变量?@magiciam我用var\u dump试过了,现在我用print\r试过了,什么都没有打印出来。@MarcelBalzer不,我没有。我确实试着把它放在connection.php中,它几乎出现在每个页面中,但没有成功如果要在页面上使用$_SESSION[]变量,则必须有SESSION_start();在该页面上调用before。在if stateMetnse之前,尝试在header.php上打印会话。您在每个页面的顶部都有一个会话start(),它使用$\u session[]变量?@magiciam我用var\u dump尝试过,现在我用print\r尝试过,但没有打印任何内容。@MarcelBalzer不,我没有。我确实试着把它放在connection.php中,它几乎出现在每个页面中,但没有成功如果要在页面上使用$_SESSION[]变量,则必须有SESSION_start();在该页面上调用before。在if stateMetnse之前,尝试在header.php上打印会话。您在每个页面的顶部都有一个会话start(),它使用$\u session[]变量?@magiciam我用var\u dump尝试过,现在我用print\r尝试过,但没有打印任何内容。@MarcelBalzer不,我没有。我确实试着把它放在connection.php中,它几乎出现在每个页面中,但没有成功如果要在页面上使用$_SESSION[]变量,则必须有SESSION_start();在该页面上调用before。在if stateMetnse之前,尝试在header.php上打印会话。您在每个页面的顶部都有一个会话start(),它使用$\u session[]变量?@magiciam我用var\u dump尝试过,现在我用print\r尝试过,但没有打印任何内容。@MarcelBalzer不,我没有。我确实试着把它放在connection.php中,它几乎出现在每个页面中,但没有成功如果要在页面上使用$_SESSION[]变量,则必须有SESSION_start();在那页上打过电话。我也这么想,但我有参考页