2010-07-29 73 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

相关问题