Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
Php用户登录会话_Php_Session_Login - Fatal编程技术网

Php用户登录会话

Php用户登录会话,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 =

注册和登录部分工作正常,但当用户登录后,标题处的欢迎消息仍然是“welcome guest”。如果我在创建会话或调用会话时出错,我无法找出原因

loginCheck.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>
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(),并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送HTTP头。

Put
session_start()在标题顶部,
会话_start(),并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送HTTP头。

Put
session_start()在标题顶部,
会话_start(),并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送HTTP头。

Put
session_start()在标题顶部,
会话_start(),并且它必须是在任何输出之前调用的第一个函数,因为此函数确实发送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();在那页上打过电话。我也这么想,但我有参考页