插入空白字段的php页面

时间:2014-05-17 15:27:25

标签: php sql

我的PHP页面在我的数据库中插入空白字段。我使用多个表单来获取我的信息,数据库仍在接收和显示空白数据。请帮助一下。

我的PHP代码是:

<div id="User_username_input">

    <div id="User_username_inputleft"></div>

    <div id="User_username_inputmiddle">
    <form action='VerifyLogin.php' method='post'>
        <input type="text" name="username" id="url" value="User Name" onclick="this.value = ''">
        <img id="User_url_user" src="./images/mailicon.png" alt="">
    </form>
    </div>

    <div id="User_username_inputright"></div>

</div>


<div id="submit">
    <form action='VerifyLogin.php' method='post'>
    <input type="image" src="./images/submit_hover.png" id="submit1" value="fign In">
    <input type="image" src="./images/submit.png" id="submit2" value="Sign In">
    </form>
</div>

将此数据发布到数据库的页面如下所示:

<?php

include("verifyconect.php");

$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];

$insert = 'INSERT INTO verify (username, email, password, confirm_password) VALUES ("'.$username.'", "'.$email.'", "'.$password.'", "'.$confirm_password.'")';

mysql_query($insert);

echo "You have verified your details, Thank you";

?>

verifyconnect.php将信息链接到数据库,因此其代码并不重要。请任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

最基本的问题是,当只需要一个表格时,你正在使用2个表格。所有元素必须放在单个表单中,才能通过POST正确发送。因此,请将HTML更改为:

<div id="User_username_input">

    <div id="User_username_inputleft"></div>

    <div id="User_username_inputmiddle">
    <form action='VerifyLogin.php' method='post'>
        <input type="text" name="username" id="url" value="User Name" onclick="this.value = ''">
        <div id="submit">
          <input type="image" src="./images/submit_hover.png" id="submit1" value="fign In">
          <input type="image" src="./images/submit.png" id="submit2" value="Sign In">
        </div>
        <img id="User_url_user" src="./images/mailicon.png" alt="">
    </form>
    </div>

    <div id="User_username_inputright"></div>

</div>

使用您的代码的解释归结为此。为清晰起见,请移除DIV。:

<form action='VerifyLogin.php' method='post'>
    <input type="text" name="username" id="url" value="User Name" onclick="this.value = ''">
</form>

<form action='VerifyLogin.php' method='post'>
  <input type="image" src="./images/submit_hover.png" id="submit1" value="fign In">
  <input type="image" src="./images/submit.png" id="submit2" value="Sign In">
</form>

看看两个表格区域。如果你点击 submit ,那么它只解析第二个表单中只有 submit 按钮的值。 username的第一个表单存在于它自己独立的世界中,因为它没有提交按钮,因此永远不会被汇总。

但过去你的代码是一团糟&amp;需要大量的重构。此外 - 我敢打赌,我不会是唯一一个这样说的人 - 但是你应该使用mysql_*扩展程序替换所有来电mysqli_*扩展名,因为不仅mysql_*因PHP 5.3而被折旧,但在PHP 5.5中完全消失了。更多详情here