2014-02-21 31 views
0

我有一個包含兩種表單的頁面。第一個是「#」,第二個是「test3.php」。第一個可以很好地執行其功能,第二個可以加載所需的文件,但第二個不會傳遞任何變量。我不確定你需要什麼信息。編碼很長。有沒有人有任何想法?使用多個表單時將變量傳遞給第二個php

+1

將第一個數據保存爲$ _SESSION或$ _COOKIE,或將第一個窗體的舊輸入作爲隱藏窗體元素添加到第二個窗體。你甚至可以將它們存儲在數據庫中。 – Arda

+2

如果代碼太長,您可以設置一個pastebin文件,但如果可能的話,請發佈相關的代碼。你可以使用['會議'](http://www.php.net/manual/en/features.sessions.php),它可以從幾乎任何地方/頁面傳遞。 –

回答

1

您可以使用sessions

作爲一個例子,我設置了3個不同的代碼體。此方法基於輸入用戶名和密碼。

您輸入的內容無關緊要,它不會執行任何操作,只會在所有後續頁面上發佈變量。

這是給你一個關於sessions如何工作以及如何在不同頁面使用變量的一般感受。

<?php 
ob_start(); 
session_start(); 

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

    $_SESSION['myusername'] = $_POST['myusername']; 
    $_SESSION['mypassword'] = $_POST['mypassword']; 

    echo $_SESSION['myusername']; 
    echo "<br>"; 
    echo $_SESSION['mypassword']; 

} // isset submit 

ob_end_flush(); 
?> 

<form action="" method="post"> 

Username: 
<input type="text" name="myusername"> 
<br> 
Password: 
<input type="text" name="mypassword"> 
<br> 
<input type="submit" name="submit" value="Submit"> 
</form> 

<br><br> 
<a href="check_page2.php">check page 2</a> 

頁2(check_page2.php)

<?php 
    session_start(); 
    if (isset($_SESSION['myusername']) && isset($_SESSION['mypassword'])){ 

    $myusername = $_SESSION['myusername']; 
    $mypassword = $_SESSION['mypassword']; 

    echo $myusername; 
    echo "<br>"; 
    echo $mypassword; 
    } 
?> 

<br><br> 
<a href="check_page3.php">check again on page 3</a> 

頁3(check_page3.php)

<?php 
    session_start(); 
    if (isset($_SESSION['myusername']) && isset($_SESSION['mypassword'])){ 

    $myusername = $_SESSION['myusername']; 
    $mypassword = $_SESSION['mypassword']; 

    echo $myusername; 
    echo "<br>"; 
    echo $mypassword; 
} 
?> 

甚至可以在jQuery中使用會話變量。

只需添加:(到check_page3.php)收盤?> PHP標籤後:

<a href="check_jquery.php">check jQuery variable in source</a> 

而且裏面,你可以使用:(check_jquery.php)

,它會顯示用戶名變量在HTML源代碼中。 (作爲一個例子)

<?php 
session_start(); 
if (isset($_SESSION['myusername']) && isset($_SESSION['mypassword'])){ 

$myusername = $_SESSION['myusername']; 
$mypassword = $_SESSION['mypassword']; 

echo $myusername; 
echo "<br>"; 
echo $mypassword; 
} 
?> 

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script> 
    $(document).ready(function(){ 
var usersession = "<?php echo $_SESSION['myusername']; ?>"; 

// alert (usersession); 

    }); 
</script> 

腳註:

通常使用type="password"將需要用於:

<input type="text" name="mypassword">但這只是一個例子。

實際的語法是:

<input type="password" name="mypassword">爲了掩蓋輸入的密碼。

0

我覺得很好。我已將兩個文件合併爲一個文件。我在同一個文件中使用POST和GET在表單之間移動變量,然後更新第一頁中第二頁上的數據庫。謝謝大家的意見。

相關問題