【问题标题】:Form send data 2 times表单发送数据 2 次
【发布时间】:2016-04-04 07:38:45
【问题描述】:

我尝试在数据库中记录数据,但数据库写入空白参数。发送此表单:site.com/inc/go.php?login=sdfdsf&pass=sddfffds**&login=&pass=**。为什么表单中的数据发送 2 次?

<form id="x" action="/inc/go.php" method=POST">
    <div>
        <span>
            <label for="loginss">
               Login<span class="tcs-form-field-requared">*</span>
            </label>
        </span>

        <span>
            <input type="text" form="x" name="login" id="login" accesskey="n" tabindex="1" id="loginx" title="login" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
        </span>
    </div>

    <div>
        <span>
            <label for="passs" class="tcs-form-label">
                password<span>*</span>
            </label>
        </span>

        <span>
            <input class="form-element-hidden form-mobile-hidden" class="form-element-hidden form-mobile-hidden">
            <input form="x" type="password" name="pass" id="pass" accesskey="p" tabindex="2" id="passx" title="pass" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">
        </span>
    </div>

    <div>
        <div>
            <span>lost pass?</span>
        </div>
        <div>
            <input form="x" class="button" type="submit" tabindex="3" value="log in">
        </div>
    </div>
</form>

PHP 动作文件:

<?php

    include('connect.php');

    mysql_query("INSERT INTO `u825237248_gold` (login , pass) VALUES ('".$_POST['login']."','".$_POST['pass']."')",$db);

?>

【问题讨论】:

  • 因为您使用的是method="POST", none of the inputs should be in the URL. That would only happen with method="GET"`。是否有任何 Javascript 提交表单?
  • @barmar,我写了 GET 来显示发送数据,在脚本中一切正常。
  • 如果您想查看表单发送的内容,请打开浏览器的控制台并转到“网络”选项卡。
  • 如果数据被两次发送到数据库是由于您很可能刷新了所说的 php 操作页面。在您的mysql_query 之后,我会向您的索引页面添加一个标题重定向,这样您就可以避免刷新页面。 header('Location: page_togoto.php');
  • @CarlosFerreira 他不是说 URL 被发送了两次,而是说 URL 中有重复的参数。

标签: php html mysql forms


【解决方案1】:
<form id="x" action="/inc/go.php" method=POST">
change <form id="x" action="/inc/go.php" method="POST">

【讨论】:

  • 如果你使用get方法那么你应该使用$_GET['login']
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-02
  • 2022-01-11
  • 2014-09-05
  • 1970-01-01
相关资源
最近更新 更多