我的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
将信息链接到数据库,因此其代码并不重要。请任何帮助将不胜感激。
答案 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。