本文實例講述了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程序設計有所幫助。