一个简单的问题,我试图解决了十几个小时,但仍然卡住了。我是PHP / Javascript的新手,所以它看起来有点愚蠢,但我不能自己做。对不起我的英语,它不是我的母语。
我有一个本地Web服务器,MySQL数据库和一个名为index.php的表单,它在服务器运行时显示在我的Chrome选项卡中。表单上有一个按钮,它应该异步地在数据库中插入一些信息,即不重新加载页面。谷歌表示,为了做到这一点,我必须使用Ajax。所以我做了以下几点:
1)我在" onClick"上放置了一个Ajax函数。表格上放置按钮的事件;
2)我放置PHP"插入脚本"进入"提交"函数,我放在index.php中,或单独的文件submit.php,它只包含"插入脚本&#34 ;;
3)当我点击按钮时,没有任何反应。没什么。但是,如果我将一些JavaScript运算符放入Ajax函数本身(例如,一个简单的"警报("某些")"),它就可以工作,并且警报会显示在浏览器。
因此,目标是:使用一些Ajax函数来执行PHP脚本,该脚本必须放在某处,并且应该使用Ajax调用,并且无需重新加载页面即可执行。任何帮助将不胜感激。
答案 0 :(得分:0)
我只是提示如何做到这一点。因为我不知道你使用这个场景。你可以根据你的要求改变代码
<form id="form-search" method="post" action="<?php echo
$_SERVER['PHP_SELF'];?>">
<input type="email" name="email" type="email" id="email" required/>
<input type="submit" value="submit" id="save" class="submit" />
//确保你必须在这里加载jquery库
$(document).on('click','#save',function(e) {
e.preventDefault();
var data = $("#form-search").serialize();
$.ajax({
data: data,
type: "post",
url: "insert.php",
success: function(data){
alert("Data Save: " + data);
}
});
});
<?php
if($_POST['email']!=""))
{
//make create connection variable here
$con = mysqli_connect("localhost","my_user","my_password","my_db");
$email=$_POST['email'];
$sql="INSERT INTO tablename (email) VALUES ('$email')";
$result=mysqli_query($con,$sql);
if($result){
echo "You have been successfully inserted.";
}else{
echo "not inserted";
}
}
?>