Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.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_Html_Login_Session Variables - Fatal编程技术网

Php通过会话在其他页面上使用变量

Php通过会话在其他页面上使用变量,php,html,login,session-variables,Php,Html,Login,Session Variables,大家好,我对php会话有问题。我试着从第二页发送一个变量到第三页,但我不断得到未定义的变量,我将包括所有三页的代码,我很抱歉,前面有大量的代码,但我相信你们会更容易帮助我。提前谢谢 第1页 <form method="POST" action="authorize.php"> <input type="text" name="username" class="username"><br> <input ty

大家好,我对php会话有问题。我试着从第二页发送一个变量到第三页,但我不断得到未定义的变量,我将包括所有三页的代码,我很抱歉,前面有大量的代码,但我相信你们会更容易帮助我。提前谢谢

第1页

<form method="POST" action="authorize.php">
            <input type="text" name="username" class="username"><br>
            <input type="password" name="password" class="password"><br>
            <label for ="remeberMe">Remember me!</label>
            <input type="checkbox" name="remeberMe" class="rememberMe"><br>
            <input type="submit" name="submitLogin" class="submitLogin" value="Login!">
        </form>
第3页

    session_start();

    if($_SESSION['access'] != true)
    {
        include("index.php");
        exit;
    }

    if(isset($_POST['username']))
    {
        $user = $_POST['username'];
    }

错误:第3页上的
$user
未定义

您正在访问
POST
变量,而不是您在会话中保存的变量。改为:

if(isset($_SESSION['username']))
{
    $user = $_SESSION['username'];
}

您正在访问
POST
变量,而不是您在会话中保存的变量。改为:

if(isset($_SESSION['username']))
{
    $user = $_SESSION['username'];
}

未定义的变量,您是指$_POST['username']还是第3页中的会话变量?post变量不会保留在第3页中,您需要引用会话变量$\u session['username']。

未定义的变量,您是指第3页中的$\u post['username']还是会话变量?post变量将不会保留在第3页中,您需要引用会话变量$\u session['username']。

因此,首先必须使用
限制1
限制SQL语句,或者将此条件更改为
=

if ($count == 1) //'>='
{
    $login = true;
}
else
{
    $login = false;
}   
之后,您必须在第3页将此更改为
$\u会话
数组:

if(isset($_POST['username'])) //to `$_SESSION['username']`
{
    $user = $_POST['username']; //to `$_SESSION['username']`
}

因此,首先必须使用
limit1
限制SQL语句,或者将此条件更改为
=

if ($count == 1) //'>='
{
    $login = true;
}
else
{
    $login = false;
}   
之后,您必须在第3页将此更改为
$\u会话
数组:

if(isset($_POST['username'])) //to `$_SESSION['username']`
{
    $user = $_POST['username']; //to `$_SESSION['username']`
}

旁注:此行未完成。
$sql=mysqli\u查询($con,
)-粘贴错误?哪个文件是
authorize.php
?哪些值/变量要传递给哪个文件?
$sql=mysqli\u查询($con,“从ScreenName='$user'和
的用户中选择*这是您的代码吗?编辑它……。同时提及未定义的内容。”variable@AeroX我看到了。有时当查询中缺少信息时,可能会对结果产生一些影响。例如,如果缺少的查询代码类似于
WHERE screen name='$user'和column='“$\u SESSION['var']”“
(wink)。我只是想看看所有的部分。旁注:这一行没有完成
$sql=mysqli\u query($con,
)-粘贴错误?哪个文件是
authorize.php
?哪个值/变量要传递给哪个文件?
$sql=mysqli\u query($con,”从ScreenName=“$user”和
”的用户中选择*这是您的代码吗?编辑它……。还请提及未定义的内容variable@AeroX我看到了。有时当查询中缺少信息时,可能会对结果产生一些影响。例如,如果缺少的查询代码类似于
WHERE screen name='$user'和column='“$\u SESSION['var']。”
(眨眼)。我只是想看看所有的部分。工作得很好,谢谢!感谢所有做出贡献的人!如果你不介意我问为什么我做了改变,我把它改成>=1?:)如果您不限制查询,则计数可能为2或3,因此==1的条件将不为真!因此,如果您将其更改为>=您确信该查询至少有1行或更多行!工作正常谢谢!感谢所有其他参与的人!如果您不介意我问为什么我做了更改,我将其更改为>=1?:)如果不限制查询,则计数可能为2或3,因此==1的条件将不为真!因此,如果将其更改为>=则确保查询至少有1行或更多行!