我在下面有一个html表单:
<section id="main" style="float: right; text-align: left; width: 83%;">
<article>
<form>
<p>Name: <div><input id="name" type=text/></p></div><br \>
<p>Phone: <div><input id="phone" type=text/></p></div><br \>
<p>Address: <div><input id="address" type=text/></p></div><br \>
<p>Username: <div><input id="username" type=text/></p></div><br \>
<p>Password: <div><input id="password" type="password"/></p></div><br \>
<p>Email: <div><input id="email" type="text"/></p></div>
<div><input id="submitDB" type="submit" value="Register"/></div>
</form>
<script type="text/javascript">
$('#submitDB').on('click', function() {
event.preventDefault();
$.ajax({
url: "registerDB.php",
data: { name: $('#name').val(), phone: $('#phone').val(), address: $('#address').val(), username: $('#username').val(), password: $('#password').val(), email: $('#email').val()},
type: "POST"
}).done(function(data) {
if(data === "true"){
alert(data);
}
else
{
alert(data);
}
});
});
</script>
</article>
</section>
此表单应提交输入并调用&#34; registerDB.php&#34;包含
的文件 <?php
require_once("config.php");
require_once("MysqliDb.php");
$DB = new MysqliDb($DBCREDS['HOSTNAME'], $DBCREDS['USERNAME'], $DBCREDS['PASSWORD'], $DBCREDS['DATABASE']);
$name = $_POST["name"];
$phone = $_POST['phone'];
$address = $_POST['address'];
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$data = Array ("name" => $name,
"phone" => $phone,
"address" => $address,
"email" => $email,
);
var_dump($data);
if($DB->insert('member', $data))
{
$user = Array (
"username" => $username,
"password" => $password,
);
var_dump($user);
die();
if($DB->insert('member_login', $user))
{
echo "You are now registered!";
}
}
else
{
echo "Please Fill All Data And Resubmit";
}
?>
但是用户名和密码变量没有通过。这里有什么我想念的吗?这不一定是超级安全&#34;我正在为我的System Analysis类开发一个项目,基本上我正在为一个演示文稿制作一个网站。
答案 0 :(得分:2)
您需要将name
属性添加到input
。如:
<form id="myForm">
<p>Name: <div><input id="name" name="name" type=text/></p></div><br \>
<p>Phone: <div><input id="phone" name="phone" type=text/></p></div><br \>
<p>Address: <div><input id="address" name="address" type=text/></p></div><br \>
<p>Username: <div><input id="username" name="username" type=text/></p></div><br \>
<p>Password: <div><input id="password" name="password" type="password"/></p></div><br \>
<p>Email: <div><input id="email" name="email" type="text"/></p></div>
<div><input id="submitDB" type="submit" value="Register"/></div>
</form>
并使用以下内容通过jquery提交form
#myForm。 (将{mymorm&#39;作为id
的{{1}}
form
提示:使用ajaxForm以便在创建ajax表单时不重新发明轮子。
答案 1 :(得分:2)
您需要将name属性添加到表单输入:
<form>
<p>Name: <div><input id="name" name="name" type=text/></p></div><br \>
<p>Phone: <div><input id="phone" name="phone" type=text/></p></div><br \>
<p>Address: <div><input id="address" name="address" type=text/></p></div><br \>
<p>Username: <div><input id="username" name="username" type=text/></p></div><br \>
<p>Password: <div><input id="password" name="password" type="password"/></p></div><br \>
<p>Email: <div><input id="email" name="email" type="text"/></p></div>
<div><input id="submitDB" type="submit" value="Register"/></div>
</form>
答案 2 :(得分:1)
您使用GET
中的$.ajax
方法发送数据:
type: "GET"
在PHP中,你期待:
$name = $_POST["name"];
成功
type: "POST"
答案 3 :(得分:0)
我在我的服务器上测试了你的HTML,并且没有问题将它发送到基本的PHP文件。我的PHP看起来像这样:
<?php
print_r($_POST);
?>
我怀疑你的PHP出错,可能是与SQL数据库的连接。尝试启用错误报告以获取更多信息。