![](/img/trans.png)
[英]PHP $_SESSION is not cleared, nor is it set. Always returns NULL
[英]Session always returns null
我有index.php頁面,用戶可以在其中注冊和登錄。 我想在用戶登錄后顯示Welcome Admin。我已經意識到會話為空,什么導致$_SESSION
變為空?
<?php
session_start();
try {
$db = new PDO("mysql:host=127.0.0.1; dbname=blog", "root", "");
} catch (PDOException $ex) {
echo $ex->getMessage();
}
$v = $db->prepare("select * from uyeler where uye_sifre=? and uye_ad=?");
var_dump($v);
if ($_POST) {
$isim = $_POST["isim"];
$sifre = $_POST["sifre"];
$v->execute(array($sifre, $isim));
$x = $v->fetchAll(PDO::FETCH_ASSOC);
$d = $v->rowCount();
if ($d) {
$_SESSION["ad"] = $x["uye_ad"];
$_SESSION["sife"] = $x["uye_sifre"];
$_SESSION["durum"] = $x["uye_durum"];
echo "Giriş başarılı";
} else {
echo "Geçersiz Kullanıcı";
}
} else {
if ($_SESSION) {
var_dump($_SESSION);
echo "adam üye";
} else {
echo '<form action="" method="post">
<table cellpadding="5" cellspacing="5">
<tr>
<td>Uye Ad</td>
<td><input type="text" name="isim" id=""></td>
</tr>
<tr>
<td>Uye Şifre</td>
<td><input type="password" name="sifre" id=""></td>
</tr>
<tr>
<td><input type="submit" id=""></td>
</tr>
</table>
</form>';
}
}
?>
這是var_dump的輸出
wamp64\www\indeks.php:12:
object(PDOStatement)[2]
public 'queryString' => string 'select * from uyeler where uye_sifre=? and uye_ad=?' (length=51)
C:\wamp64\www\indeks.php:34:
array (size=3)
'ad' => null
'sife' => null
'durum' => null
嘗試這個:
$v = $db->prepare("select * from uyeler where uye_sifre=:sifre and uye_ad=:isim");
$v->bindParam(':sifre', $sifre, PDO::PARAM_INT);
$v->bindParam(':isim', $isim, PDO::PARAM_INT);
$v->execute();
有關更多信息,請查找PHP文檔
fetchAll
返回一個多維數組。 所以修好這些線
$_SESSION["ad"] = $x["uye_ad"]; $_SESSION["sife"] = $x["uye_sifre"]; $_SESSION["durum"] = $x["uye_durum"];
對此:
$_SESSION["ad"] = $x[0]["uye_ad"]; $_SESSION["sife"] = $x[0]["uye_sifre"]; $_SESSION["durum"] = $x[0]["uye_durum"];
$x
是多維的,看起來像這樣:
$x = array( array('uye_ad'=>'any value', 'uye_sifre'=>'any value2', 'uye_durum'=>'any value3',) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.