首页 > 解决方案 > 在表单提交时,将电子邮件地址从第一个表单传递到第二个表单

问题描述

我有两个表单,第一个被提交,然后页面重新加载并显示第二个。我遇到的问题是将电子邮件地址从第一个表单传递到第二个表单。在不干扰我的操作或将其从 POST 更改为 GET 的情况下,最好的方法是什么?

    <?php if(!isset($_POST['crowd_email'])){ ?>
      <form id="form" method="POST" action="<?php require( COMMON_PATH . '/components/crowdfunding.php' ); ?>">
        <input type="text" name="crowd_email" class="crowd_email" value="" placeholder="Email address">
        <input type="submit" class="register-btn" value="Register Interest" name="submit">
      </form>
    <?php } else { ?>
      <form id="form" method="POST" action="<?php require( COMMON_PATH . '/components/crowdfunding-extra.php' ); ?>">
        <input type="text" name="first_name" class="crowd_email extra-info" value="" placeholder="First name">
        <input type="text" name="tel_no" class="crowd_email extra-info" value="" placeholder="Telephone number">
        <input type="text" name="amount" class="crowd_email extra-info" value="" placeholder="Amount to invest">
        <input type="submit" class="register-btn" value="Register Interest" name="submitextra">
      </form>
    <?php } ?>

标签: phphtmlforms

解决方案


1)在第二个表单中添加一个隐藏字段。

2)在渲染第二个表单时,将电子邮件地址的值(从第一个表单提交)添加到隐藏字段。

例如

<?php if(!isset($_POST['crowd_email'])){ ?>

  <form id="form" method="POST" action="<?php require( COMMON_PATH . '/components/crowdfunding.php' ); ?>">
    <input type="text" name="crowd_email" class="crowd_email" value="" placeholder="Email address">
    <input type="submit" class="register-btn" value="Register Interest" name="submit">
  </form>
<?php } else { ?>
  <form id="form" method="POST" action="<?php require( COMMON_PATH . '/components/crowdfunding-extra.php' ); ?>">
    <input type="text" name="first_name" class="crowd_email extra-info" value="" placeholder="First name">
    <input type="text" name="tel_no" class="crowd_email extra-info" value="" placeholder="Telephone number">
    <input type="text" name="amount" class="crowd_email extra-info" value="" placeholder="Amount to invest">
    <input type="hidden" name="email" value="<?php echo $_POST["crowd_email"]; ?>" />
    <input type="submit" class="register-btn" value="Register Interest" name="submitextra">
  </form>
<?php } ?>

这样,当您提交第二个表单时,电子邮件字段将与其余新数据一起提交。


推荐阅读