2014-03-26 128 views
-1

任何人都可以在我的代碼中看到一個錯誤嗎?會話變量持續通過POST

兩個文件,一個變量被設置爲使用JS的第一頁上,我想將它傳遞到下一個頁面。

username變量在此設定中,首先在可變然後在會話

username = wordOne + wordTwo + wordThree; 
<?php $_SESSION['username'] = $username; ?> 

然後我提交這需要用戶登記-form.php的形式

<form method="POST" action="register-form.php"> 
    <button>I like it! Make it my username.</button> 
</form> 

時該頁面加載,用戶名被抓取並作爲值輸入到輸入中

<body onload="inputUsername()"> 


function inputUsername(){ 
var username = "<?php echo isset($_POST[username])?$_POST[username]:''; ?>"; 
console.log("I'm running " + username); 
document.getElementById('inputUsername').value = username; 
} 

但是這不起作用,因爲變量username沒有在頁面中持續存在。

+0

你如何在第一頁設置用戶名變量? – mirhossein

+0

它使用JavaScript設置。 – Francesca

回答

1

我看到的是你所要求的$_POST[username]但是從形式你不通過它。我的意思是這樣:但是

<form method="POST" action="register-form.php"> 
    <input type="hidden" name="username" value="<?php echo $_SESSION['username']; ?>"> 
    <button>I like it! Make it my username.</button> 
+1

是的obv。謝謝 – ilpaijin

0

在你當前的代碼,您正在訪問_POST變量,你正在代碼中設置_SESSION變量。因此,可能的修復方法是: 1.在inputUsername()函數中檢查_SESSION變量或 2.在表單中設置用戶名,以便在提交時將其發佈到新頁面。