//Check against CSFR here
$key = md5(uniqid(rand(), TRUE));
//$key = "234"; //using this works but not the idea
$_SESSION['key'] = $key;
//form
<form method="post" action="<?php echo HTTPF; ?>/complete_reg">
<p>
<label>
<b>Email address:</b><br />
<input type="text" id="user_email" name="user_email" value="" class="register_email" onblur='$("#checkid").html("Please wait..."); $.get("er_checkuser.php",{ cmd: "check", check_key: $("#check_key").val(), user: $("#user_email").val() } ,function(data){ $("#checkid").html(data); });' />
</label>
<input type="hidden" id="check_key" name="check_key" value="<?php echo $key; ?>" />
<span style="color:red; font: bold 12px verdana; " id="checkid" ></span>
</p>
//calling page
//er_checkuser.php
foreach($_GET as $key => $value) {
$get[$key] = filter($value);
}
//For some reasons I don't know why the values are not the same but they should be
if ($get['check_key'] == $_SESSION['key'])
{
echo $_SESSION['key'];
echo "<br>";
echo $get['check_key'];
}
0
A
回答
1
在使用$ _SESSION數組之前調用session_start()嗎?
+0
請確保在每個要使用的頁面上調用session_start() '$ _SESSION'變量。 –
2
啊我想我知道問題出在哪裏:你在每一頁上重新加載創建一個新的密鑰。因此,您在提交表單時也會創建一個新密鑰。
你應該做的是:
if(!isset($_GET['check_key']) {
$key = md5(uniqid(rand(), TRUE));
$_SESSION['key'] = $key;
}
+0
當我這樣做時,$ get ['check_key']在調用頁面上沒有值。 –
1
你應該調用你的PHP腳本的頂部session_start(),否則我將無法正常工作。
在session_start()創建一個會話或恢復基於 經由GET或POST請求,通過或經由 餅乾傳遞的會話標識符的當前一個。
也許你可以看這個video from nettuts to learn how to create login system,它使用會話。
相關問題
- 1. 如何保持會話變量不變?
- 2. 類變量不保持價值
- 3. 如何保持隨機值在會話變量保持不變php
- 4. 會話變量不保持跨不同控制器的值
- 5. JSONP PHP會話不會保持不變
- 6. 會話不保存變量
- 7. 如何把會話變量的價值=「」
- 8. 在登錄時保持會話變量
- 9. 會話變量保持爲空
- 10. 保持session_destroy()之後,會話變量
- 11. php會話和會話unset + destroy會話保持不變
- 12. 會話變量不會持續
- 13. Rails - 會話變量不會持續
- 14. 會話變量不會與GXT保持一致
- 15. 丟失會話變量,同時保持會話ID
- 16. 會話不會保存任何變量
- 17. wget的保持會話等價捲曲
- 18. 保持變量值
- 19. 保持變量值
- 20. 保存PHP會話變量的值
- 21. 全局變量保持覆蓋會話變量
- 22. 變量不會持有非常長的價值pymongo ipython
- 23. JavaScript變量不保留價值
- 24. ServletContext變量不保留價值
- 25. 全局變量不保留價值
- 26. PHP保存會話變量
- 27. 保存會話變量
- 28. 會話價值不來
- 29. 變量不會得到價值
- 30. GAE Python - appengine_utilities不保存會話變量
我無法在任何地方看到session_start()... –
頁面開頭處有session_start()(未顯示) –