首页 文章

php会话变量不打印

提问于
浏览
-3

我正在使用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();在我的页面顶部 .

有人能帮我吗

谢谢

1 回答

  • 1

    您没有指定 echo 语句来显示会话数据

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

相关问题