2015-09-10 95 views
0

我有非常簡單的腳本,應該設置會話值,按下提交按鈕後,同一頁面應該重新加載並記住以前設置的會話值。提交表單時丟失的PHP會話值

請善意幫助解決此問題!謝謝!

代碼已更新10分鐘後。

<?php 
    session_start(); 

    // if (session_status() == PHP_SESSION_NONE) { 
    // 
    // session_start(); 
    // echo date("Y-m-d H:i:s"); 
    // echo 'Session has been now started.'; 
    // var_dump($_SESSION); 
    // echo '<br>'; 
    // 
    // } else 
    // { 
    // 
    // echo 'Session was started already earlier.'; 
    // var_dump($_SESSION); 
    // echo '<br>'; 
    // 
    // } 

    if (isset($_SESSION['sessionvariable'])) 
    { 

    echo 'Effort one1: We have a value for sessionvariable. <br>'; 

    } else { 

    echo 'Effort one1: We dont have a value for sessionvariable. <br>'; 

    } 

    $_SESSION['sessionvariable'] = 3030303; 

    echo 'We have now set the value for sessionvariable:'; 
    echo $_SESSION['sessionvariable']; 
    echo '<br>'; 


    echo '<form action="sessiontest.php" method="POST" enctype="multipart/form-data">'; 
    echo 'Give some input: <input type="text" name="naming" value="something"> <input type="submit" value="upload">'; 
    echo '</form>'; 
    echo '<br>'; 

    var_dump($_SESSION); 

    ?> 
+2

您從未設置會話變量。 –

回答

7

您從未設置過會話變量。設置會話變量的語法是:

$_SESSION['sessionvariable'] = 3030303; 

你在做什麼是$sessionvariable = 3030303;它設置頁面時終止,其失去了一個非會話變量。只使用變量名中的session這個詞不會使其成爲會話變量。

+0

**感謝**提供的建議,我現在根據您的建議更新了我的代碼。然而,**仍然是主要問題仍然是**:當使用submit按鈕重新加載頁面時,sessionvalue變量被遺忘。請仍然幫我解決這個問題! :) – wensgal24

+0

如果您在嘗試讀取其值之前覆蓋會話值,則不會獲得預期的結果。此外,你的PHP代碼之前有空白,這會破壞事情。 –

+0

感謝您的信息...覆蓋...?只是,你能不能更精確地描述一下如何修改我的代碼......我已經爲這整整兩天搜索瞭解決方案。謝謝。 – wensgal24