【问题标题】:How i can input keep value after submit, php?我如何在提交后输入保持值,php?
【发布时间】:2015-06-20 01:31:02
【问题描述】:

我正在使用 php 制作帐户注册页面。我的问题是,如果有人使用已经在使用的用户名,页面会重新加载并且所有输入都将为空。

我试过这个:

<form action="register.php" method="post">
<input type="text" name="username" value="<?php if(isset($_POST['username'])) { echo $_POST['username']; } ?>" />
</br>

【问题讨论】:

  • 使用SESSION或更高效的方式来使用AJAX和jQuery

标签: php html reload


【解决方案1】:

在我看来,最好的方法是通过 AJAX 发送重复用户名的检查。在用户完成输入后一两秒使用 JavaScript 发送请求。

如果您不想使用 AJAX,请将字段值存储在会话中,并在页面重新加载时将它们吐回。这是您的页面:

<?php if(isset($_SESSION['username'])) { echo $_POST['username']; } ?>

然后,在表单提交代码中:

$_SESSION['username'] = $_POST['username'];

如果您的表单处理代码和表单标记在同一个 PHP 文件中,您的代码可以工作,但您肯定没有违反这样的关注点分离,是吗? ;)

【讨论】:

    【解决方案2】:

    您已将表单的方法设置为 POST,因此您不能使用$_GET,而必须使用$_POST

    <form action="register.php" method="post">
    <input type="text" name="username" value="<?php echo htmlspecialchars($_POST['username']); ?>" />
    </br>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-08
      • 2011-01-18
      • 1970-01-01
      • 2013-01-08
      • 2016-05-20
      • 1970-01-01
      • 2020-08-06
      • 2016-02-29
      相关资源
      最近更新 更多