本文執行個體講述了php驗證session無效的解決方案。分享給大家供大家參考。具體方法如下:
一、問題
今天在配置 apache+php環境時折騰了很久很久,後來成功了但發現驗證碼圖片可以產生,在登入驗證時發現session為空白,並沒有值了。
二、解決方案
環境:apache+php
程式碼如下:
複製代碼 代碼如下:
<input name="username" type="text" class="input" id="username">
<input name="password" type="password" class="input" id="password">
<input name="ver" type="text" class="input1" id="ver" size="5">
<img src="../inc/ver.php" onclick="this.src='../inc/ver.php';" />
提交之後處理檔案這post.php檔案
複製代碼 代碼如下:
if($_SESSION['ssioner']!=$ssever){
echo("<script>alert('驗證碼必須由4位元字組成!');history.back();</script>");exit;
}
結果發現一直提示驗證碼必須由4位元字組成,再列印輸出session:
複製代碼 代碼如下:
echo $_SESSION['ssioner'];
exit;
一直為空白了,於時我想到了php環境配置的一個session檔案目錄,現在我們找到php.ini設定檔找到
upload_tmp_dir
發現這個目錄是
upload_tmp_dir="D:\www.jb51.net\tp"
我檢查一下我的D盤發現只有www.jb51.net檔案而沒有tp目錄了,這樣問題就找到了,於時我建立一個tp目錄,重啟apache發現在tp目錄有sess_i40gl0p4hfep5r69j67o1k26d01檔案了,這樣再重新登入發現成功了。
希望本文所述對大家的PHP程式設計有所協助。