将表单数据添加到mysql数据库PHP和AJAX

时间:2013-06-05 07:40:40

标签: ajax

我想要一个表单,让我在不刷新表单的情况下为数据库添加名称。我一直在努力,但似乎没有用。我是新手,所以任何帮助都表示赞赏。

对于我的index.html,我有:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js">
</script>
<script type="text/javascript" >
$(function() {
$(".submit").click(function() {
var name = $("#firstname").val();
var username = $("#lastname").val();

var dataString = 'firstname='+ firstname + 'lastname=' + lastname

if(firstname=='' || lastname=='')
{
$('.success').fadeOut(200).hide();
$('.error').fadeOut(200).show();
}
else
{
$.ajax({
type: "POST",
url: "join.php",
data: dataString,
success: function(){
$('.success').fadeIn(200).show();
$('.error').fadeOut(200).hide();
}
});
}
return false;
});
});
</script>



<body>

<form method="post" name="form">
<ul><li>
<input id="firstname" name="firstname" type="text" />
</li><li>
<input id="lastname" name="lastname" type="text" />


</li></ul>
<div >
<input type="submit" value="Submit" class="submit"/>
<span class="error" style="display:none"> Please Enter Valid Data</span>
<span class="success" style="display:none"> Registration Successfully</span>
</div></form> 

对于join.php:

<?php
include("db.php");

if($_POST)
{
$firstname=$_POST['firstname'];
$lastname=$_POST['username'];
mysql_query("INSERT INTO persons (firstname,lastname) VALUES('$firstname','$lastname')");
}

?>

和db.php:

<?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "test";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_select_db($mysql_database, $bd) or die("Could not select database");
?>

1 个答案:

答案 0 :(得分:3)

代码中有错误, 你已编码

  var name = $("#firstname").val();
  var username = $("#lastname").val();
  var dataString = 'firstname='+ firstname + 'lastname=' + lastname

您必须在 dataString 中使用变量名称和用户名,但您已经为首字母和姓氏编写了字段的ID。更改dataString

中使用的变量名或变量

更正后的行是:

 var dataString = 'firstname='+ name + 'lastname=' + username

并且

   $lastname=$_POST['username']; =>  $lastname=$_POST['lastname'];