[英]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.