2013-02-18 53 views
0

這是我到目前爲止。問題是,當我點擊提交時,我會進入下一頁,但會話不存儲名字。如果我刪除了動作,那麼它的動作=「」,那麼會話保存了名字。爲什麼會發生這種情況,我該如何解決?php會話不會保存表單數據

...html stuff... 

<?php 
session_start(); 
if(isset($_POST['submit'])){ $_SESSION['firstName'] = $_POST['firstName']; } 
?> 

<form method="POST" action="nextPage.php"> 
<input name="firstName" type="text" size="70"/> 
... 
<input type="submit" name="submit" value="Continue"/> 
</form> 
+1

你需要nextPage.php – Vamsi 2013-02-18 06:54:10

+1

設置會話只是一個猜測,在下一頁,你使用'在session_start()'?你可以發佈你的下一頁嗎? – Vinay 2013-02-18 06:54:12

+0

$ _POST ['firstName']只在提交表單後才存在。在下面檢查我的答案。 – 2013-02-18 06:57:57

回答

1

$ _ POST [ '的firstName']不存在,直到您發佈表單數據到這個頁面本身。這就是爲什麼將操作設置爲「」的原因,因爲它將表單數據發佈到自身。

否則,請在nextPage.php而不是這裏使用這兩行代碼,而是在下一頁中設置會話變量。

session_start(); 
if(isset($_POST['submit'])){ $_SESSION['firstName'] = $_POST['firstName']; } 
+0

非常感謝你! – user2052519 2013-02-18 07:15:47

0

使用本

...html stuff... 
<?php 
ob_start(); // add this 
session_start(); 
if(isset($_POST['submit'])){ $_SESSION['firstName'] = $_POST['firstName']; } 
?>