Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将输入从一个表单转移到另一个表单_Javascript_Php_Html_Forms - Fatal编程技术网

Javascript 将输入从一个表单转移到另一个表单

Javascript 将输入从一个表单转移到另一个表单,javascript,php,html,forms,Javascript,Php,Html,Forms,我有一个登录页,有两个输入表单用户名和电子邮件,还有一个提交按钮。我希望用户输入用户名和电子邮件,点击提交重定向到MyBB注册页面,用户名和电子邮件从登录页面预先填写 <div class="row"> <div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3"> <form method="post&quo

我有一个登录页,有两个输入表单用户名和电子邮件,还有一个提交按钮。我希望用户输入用户名和电子邮件,点击提交重定向到MyBB注册页面,用户名和电子邮件从登录页面预先填写

<div class="row">
          <div class="col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3">
            <form method="post" role="form">
              <div class="form-group">
                <input type="username" class="form-control" id="exampleInputUsername" placeholder="Username">
                <br />
                <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter Email">
                  <br />
                  <a href="http://127.0.0.1`enter code here`/forum/member.php?action=register"> <button type="submit" class="btn btn-primary btn-lg" >Sign Up</button></a>
              </div>

            </form>
          </div>
        </div><!--End Form row-->

这很简单-可以这样做:

page1.php:

<?php 
if(isset($_POST['submit'])) {
  header('Location: page2.php?username='.$_POST['username'].'&email='.$_POST['email']);
}
?>

<form method="post">
<input type="text" name="username">
<input type="email" name="email">
<input type="submit" name="submit">
</form>
page2.php:

<form method="post">
<input type="text" value="<?php $_GET['username']; ?>" name="username">
<input type="email" value="<?php $_GET['email']; ?>" name="email">
<input type="submit" name="submit">
</form>

我会将此信息存储在会话中,因为您已经需要使用会话进行登录。 诀窍在于每个页面印象都是独立的,这意味着从一个页面视图到另一个页面视图的所有内容都必须存储在持久性存储器中。比如会话、cookie或类似的东西。为每个页面视图创建输入->过程->输出链的心智模型。从长远来看,将所有PHP代码与HTML分离将使事情变得更容易。记住,在HTML发送到客户端之前,所有PHP代码都在服务器上处理;在这方面,HTML中没有PHP

请记住验证输入,以确保您得到的内容至少类似于正确的用户名,例如,可以键入的字符子集。另外,在将输出添加到下一个表单时,记住转义输出也是非常重要的。否则,您将对XSS敞开大门,而您不/不/不想这样做

顺便说一句,@TheCodesee发布的代码不安全,因为他也没有做到。 下面是一个我将如何做的快速示例:

// On the page handling the submission.
if (isset ($_POST['username'])) {
    $_SESSION['username'] = filter_var ($_POST['username'], FILTER_SANITIZE_STRING);
}

// Later on, in the code generating the page for the form.
if (!empty ($_SESSION['username'])) {
    $Template->form_username = htmlspecialchars ($_SESSION['username']);
}

到目前为止,您是否可以共享您的代码?将表单操作设置为论坛注册页面,并将用户名和电子邮件作为查询参数添加到表单操作。按照您描述的方式,您可以只使用location.href,甚至可以使用anchor href,除非电子邮件和用户名在重定向之前保存在后端。我只是希望有人为我编码的想法根本不是真的。我还没有找到很多关于这方面的信息。我已经用更多信息更新了主帖子。@BeaumDowell请检查我的回答@TheCodesee发布的代码不安全OP是否要求提供安全代码?我不想在这里开始对话/讨论,但是。。。如果您发布了不安全的代码供其他人学习,那么您将使不安全代码的问题永久化。永远不要假设OP知道什么是安全的和不安全的代码。