2010-07-29 95 views
1

是否有任何方式在兩種形式之間傳遞值?比方說,我有兩個HTML表單。在兩種形式之間傳遞值

在表單1中,有一個名爲name和submit按鈕的字段。

在表格2中,有兩個字段叫做姓名和電子郵件,並提交按鈕。

我想要得到的是,在表格1中,當我填寫表單1名稱字段並單擊提交時,它將帶我到表單2,並且名稱值將填入表單2的名稱字段中。

這可能嗎?

如果是這樣,請給我留下想法或片段。

謝謝。

回答

4

如果形式是分開的頁面,你可以使用$ _POST數組填充形式兩個值:

頁面1

<form action="page2.php" method="post"> 
name <input type="text" name="name" /><br/> 
email <input type="email" name="email" /> 
<input type="submit" value="submit"/> 
</form> 

使page2.php,抓鬥正在添加值從$ _POST中填入以下值:

<?php 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
?> 
<form action="pageX.php" method="post"> 
name <input type="text" name="name" value="<?php echo $name;?>"/><br/> 
email <input type="email" name="email" value="<?php echo $email;?>"/> 
<input type="submit" value="submit"/> 
</form> 

顯然你會需要驗證則page2.php中 $ _ POST數據,但這是另一個問題......

+0

感謝您的快速響應。我現在就試試看。謝謝。 – knightrider 2010-07-29 11:08:08

+0

感謝它的工作。 – knightrider 2010-07-29 11:39:34

0

沒有驗證碼,可能是一些檢查缺失,但你可以有兩個功能,像做在一個頁面:

function renderForm1($name $error) 
{ 
    <?PHP 
    if ($error != '') 
    { 
     echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>'; 
    } 
    ?> 
    <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> 
     name <input type="text" name="name" /><br/> 
     <input type="submit" value="getname"/> 
    </form> 
} 

function renderForm2($name, $email, $error) 
{ 
    <?PHP 
    if ($error != '') 
    { 
     echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>'; 
    } 
    ?> 
    <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> 
    name <input type="text" name="name" /><br/> 
    email <input type="email" name="email" /> 
    <input type="submit" value="submit"/> 
    </form> 
} 

if (isset($_POST['getname'])) 
{ 
    if(empty($_POST['name']) 
    { 
    $error='bla bla'; 
    renderForm1($name $error) 
    } 
    else 
    { 
    $name=$_POST['name']; 
    renderForm2($name, $email, $error) 
    } 
} 
elseif (isset($_POST['submit'])) 
{ 
    do whathever with fomr2 
} 
else 
{ 
    renderForm1($name $error); 
} 
+2

好的,我是新的在stackoverflow,只是回答了2010年的職位! :)新手! – Goncalod 2014-04-08 12:46:00