【问题标题】:keep form value after submit it提交后保留表单值
【发布时间】:2013-06-06 11:25:28
【问题描述】:

我知道还有很多其他类似的问题,我在网上找到了 1.000 个答案,但这些都不适用于我的代码 :( 那么有人可以帮助我在提交后如何保持电子邮件的价值吗?

        <form name="login-registration" onSubmit="return validateForm()" method="post" action="" >
            <label>Email</label>
            <input type="email" name="emailinput" id="emailinput" value ="" />
            <p id="emptyEmail" class="hidden">Email field is required</p>
            <p id="invalidEmail" class="hidden">Email you insert is invalid!</p>
            <label>Your password</label>
            <input type="password" name="pswinput" id="pswinput" value=""/>
            <p id="pswMinMax" class="hidden">Password should be from 4 to 8 caracters</p>
            <p id="pswLettNum" class="hidden">Password should be letters and numbers. No special caracters are allow</p>
            <label>Repeat password</label>
            <input type="password" name="pswrepeatinput" id="pswrepeatinput" value="" onblur="isValidPswRep()"/>
            <p id="pswR" class="hidden">Your passwords is different</p>
            <input type="checkbox" id="policy" name="policy" value="policy" /> <label>I agree</label>
            <p id="checkN" class="hidden">You must agree to our term</p>

            <input type="submit" name="submit" value="Login" />

        </form>

我尝试输入一些代码,例如:

<input type="email" name="emailinput" id="emailinput" value = "<?php echo htmlspecialchars($_GET['lastname']); ?>" />

但该 php 行仅显示在字段输入中。

【问题讨论】:

  • 我希望你给你的文件提供 .php 扩展名!
  • 你在表单中使用post方法
  • 检查文件扩展名。是.html 还是.php
  • 您需要安装 PHP 和/或配置您的 Web 服务器以将 .php 文件提供给 php 解释器。如果没有,它只是显示 php 标签的内容。

标签: php javascript forms


【解决方案1】:

尝试使用$_POST['lastname'] 而不是$_GET['lastname']

【讨论】:

    【解决方案2】:

    1)如果我没记错的话,我在上面的代码中没有看到任何带有 name="lastname" 的字段。

    2) 使用 $_POST,因为您使用 method="post" 发布表单数据。

    【讨论】:

      【解决方案3】:

      假设您的文件具有.php 作为扩展名并且php 安装在您的服务器上,我希望您注意到您有一个错误,因为您在将value 应用到您的输入字段时使用了POST 表单您正在尝试使用$_GET 此外,您没有将lastname 分配给任何输入字段,因此在您应用于此字段name="emailinput" 时使用emailinput。您应该将htmlspecialchars($_GET['emailinput']); 更改为htmlspecialchars($_POST['emailinput']);

      所以你的代码看起来像这样

      <input type="email" name="emailinput" id="emailinput" value = "<?php echo htmlspecialchars($_POST['emailinput']); ?>" />
      

      这应该在您的输入字段中打印您的变量

      【讨论】:

        【解决方案4】:

        那里至少有 2 个问题。

        1. php 内联显示的事实表明您的文件扩展名错误(如 cmets 建议的那样),或者文件未包含在您的“知道如何通过 php 读取”中(因为缺乏更好的这么说吧,我的英文不完美)目录。

        2. 您在发送帖子时回显 get(如其他答案建议的那样)

        另外...为什么你的问题有 JS 标记(对不起,大写,想确保它突出)?

        【讨论】:

        • 一闪!对不起,因为我所有的工作都是用 Javascript 编写的,我认为是相关的,但实际上这个问题所需的任何代码都与 Js 相关。你是对的!
        • 顺便说一句,有没有办法使用 Javascript 或 Ajax 来保存这个值?
        • 可以通过ajax提交。所以你不需要重新填充你的价值观,你已经有了它们。如果我不忘记的话,我会在下班后(大约 7 小时内)添加一个脚本。
        • 哇!那太好了,谢谢!否则我只会在谷歌上寻找它。感谢您的帮助!
        猜你喜欢
        • 2011-07-27
        • 1970-01-01
        • 2021-01-13
        • 2016-09-24
        • 2016-12-15
        • 2019-09-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多