2017-02-12 87 views
1

我已經經歷了20次左右的不同發帖,而且我似乎無法得到這個正確的結果,將我想要完成的不同方面的問題和答案拼湊在一起。使用表單輸出多個會話變量,在後續頁面上輸出

我有一個表格,用戶可以填寫。我希望在提交表格時,所做的選擇將用作整個網站其他部分的變量。

我的代碼:

<form action="page1" method="POST"> 
    <input type="text" name="var_1"> 
    <input type="text" name="var_2"> 
    <input type="submit" value="Submit" class="submit" name="submit"> 
</form> 


<?php 

session_start(); 

if (isset($_POST['submit'])) { 

    $_SESSION['var_1'] = $_POST['var_1']; 
    $_SESSION['var_2'] = $_POST['var_2']; 

} 
?> 

下一頁:

<?php 

session_start(); 

$var_1 = $_SESSION['var_1']; 
$var_2 = $_SESSION['var_2']; 

?> 

<?php echo $var_1';?> 
<?php echo $var_2';?> 

這導致空白回聲,並在頁面頂部的每個變量重複錯誤:

Notice: Undefined index: var_1 in page1.php on line # 

很明顯,我的會議並沒有成爲第二頁,但我不知道爲什麼或者我做了什麼錯誤。這已經從關於添加多個會話,發佈會話,獲得會話的帖子拼湊在一起。

+0

什麼是「action =」page1「'沒有擴展名? – affaz

+0

嗯,這是page1.php的技術,但我用.htaccess處理 - 我不喜歡.php網址。 – Faye

+0

在下面看到我的回答 – affaz

回答

2

無論是在PHP代碼從您的<form>action,給重定向到page1因爲下面不會工作的PHP代碼,並重定向到下一個page.As其中的會議將不會設置結果

<form action="" method="POST"> 
     <input type="text" name="var_1"> 
     <input type="text" name="var_2"> 
     <input type="submit" value="Submit" class="submit" name="submit"> 
    </form> 
    <?php 

session_start(); 

if (isset($_POST['submit'])) { 

    $_SESSION['var_1'] = $_POST['var_1']; 
    $_SESSION['var_2'] = $_POST['var_2']; 
    //redirect 
    header("Location: page1.php"); 
} 
?> 

或者將在未來頁session沒有下面的代碼

<form action="page1" method="POST"> 
    <input type="text" name="var_1"> 
    <input type="text" name="var_2"> 
    <input type="submit" value="Submit" class="submit" name="submit"> 
</form> 

page1.php中

<?php 

session_start(); 
$_SESSION['var_1'] = $_POST['var_1']; 
$_SESSION['var_2'] = $_POST['var_2']; 
$var_1 = $_SESSION['var_1']; 
$var_2 = $_SESSION['var_2']; 

?> 

<?php echo $var_1;?> 
<?php echo $var_2;?> 
+0

我的行動正在破壞它!謝謝!問題 - 如何在提交後將它們重定向到page1? (php新手) – Faye

+0

@REactionFaye歡迎:) – affaz