簡體   English   中英

php會話變量不打印

[英]php session variable does not print

我正在使用 php pdo 並且一切正常,而不是會話變量。 我通過ajax將表單變量傳遞到另一個頁面,編碼是ajax的

$.ajax({
                    url:"loginform.php",
                    method:"POST",
                    data:{recaptcha: grecaptcha.getResponse(), email:email, password:password},
                    success: function(data){
                        if(data == "notok"){
                            grecaptcha.reset();
                            errbox = $("#robotError");
                            errcontent = "please verify you are not robot";
                            showerror(errbox, errcontent);
                        }
                    }
                    });

在 loginform.php 我使用這個編碼

$email = test_input($_POST["email"]);
        $userPassword = test_input($_POST["password"]);
try {
            $conn = new PDO("mysql:host=$servername;dbname=variablename", $username, $password);
            $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $query = "select email from table where email=?";
            $statement = $conn->prepare($query);
            $statement->execute(array($email));         
            $count = $statement->rowCount();
                if($count == 1){
                    $query = "select password from table where email=?";
                    $statement = $conn->prepare($query);
                    $statement->execute(array($email));
                    $dbpassword = $statement->fetch(PDO::FETCH_ASSOC);
                    if($dbpassword['password'] == $userPassword){
                        $query = "SELECT firstName, lastName FROM table WHERE email=?";
                        $statement = $conn->prepare($query);
                        $statement->execute(array($email));
                        $dbFnandLn = $statement->fetch(PDO::FETCH_ASSOC);
                        $_SESSION['userfn'] = $dbFnandLn['firstName'];
                        $_SESSION['userln'] = $dbFnandLn['lastName'];
                        $_SESSION["loggedin"] = true;
                        echo "oldRegistered";
                    }
                    if($dbpassword['password'] != $userPassword){
                        echo "wrongpw";
                    }
                    $conn = null;
                    exit;
                }
                if($count < 1){
                    $_SESSION['userstatus'] = "needtoregistered";
                    echo "newRegistered";
                    $conn = null;
                    exit;
                }
            }

我的$_SESSION["loggedin"]工作正常,即使一切都很好,但是當我嘗試顯示名字和姓氏的會話變量時,它沒有出現,這里是編碼

<section class="page-header page-header-light page-header-more-padding">
            <div class="container">
                <div class="row">
                    <div class="col-md-12">
                        <h1>User Home Page</h1>
                        <ul class="breadcrumb breadcrumb-valign-mid">
                            <li><a href="http://dineandparty.com">Home</a></li>
                            <li class="active">User: <?php $_SESSION['userfn']." ".$_SESSION['userln'] ?></li>
                        </ul>
                    </div>
                </div>
            </div>
        </section>

我已經檢查了我的表列名,並且我使用的是完全相同的列名,例如

$dbFnandLn['firstName']; 和 $dbFnandLn['lastName'];

我也有 session_start(); 在我的頁面頂部。

有人能幫我嗎

謝謝

您沒有指定echo語句來顯示會話數據

<?php echo $_SESSION['userfn']." ".$_SESSION['userln'] ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM