2011-09-02 115 views
0

我正在嘗試從here獲取新的CAPTCHA腳本。要調用驗證碼代碼使用:$ _SESSION [「驗證碼」] [「代碼」]PHP保存會話變量

好吧,當我回聲它的主要形式,但是當我在表後呼應它已經提交的作品,它會顯示一個新的代碼,所以我永遠無法知道他們提交表單時的舊代碼是什麼。

if($_POST['submit']) { 
    echo $_SESSION['captcha']['code']; 
} 

我該如何保存會話數據並且不要再改變它?

+0

您需要驗證您的驗證碼代碼重寫當頁面重新加載時會話變量。可能您需要對此代碼進行更改。 – GodFather

+0

你可以在這裏放置生成和存儲驗證碼的代碼 – GodFather

回答

3

你應該把它保存在你自己的會話變量:

$_SESSION['old_captcha'] = $_SESSION['captcha']; 

然後,提交表單時,使用你自己的變量:

if($_POST['submit']) { 
    echo $_SESSION['old_captcha']['code']; 
} 
+0

謝謝!偉大的作品:) – Drew

2

把這個之前,你再次包括captcha.php在下一步。

1

我的猜測是,它顯示一個新的代碼,因爲你回到顯示它的頁面。嘗試提交到其他頁面,或者如果會話變量已設置,則可能不執行驗證碼創建代碼。