【发布时间】:2014-11-12 11:59:41
【问题描述】:
这是我的索引文件:
<!Doctype html>
<html>
<head><title>The Database Entry Project</title></head>
<body>
<div>
<form>
<h3>Input Details Here</h3>
<label for="fn">First Name</label>
<input id="fn" type="text">
<label for="ln">Last Name</label>
<input id="ln" type="text">
<br><br>
<input type="submit" value="Register" id="sub">
<input type="submit" value="Login" id="log">
<input type="reset" value="Reset">
</form>
</div>
<script type="text/javascript" src="js/sub.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
</body>
</html>
这是 sub.js
//-------------------------------Register----------------------------
$(function () {
$('#sub').on("click", function (e) {
e.preventDefault();
e.stopPropagation();
var fn = $('#fn').val();
var ln = $('#ln').val();
$.ajax({
url: 'php/login.php',
type: 'post',
data: {
'fn': fn,
'ln': ln
},
success: function (data) {
alert(data);
},
cache: false
}); // end ajax call
});
});
//-------------------------Login---------------------------------------
$(document).ready(function(){
$('#log').on("click",function(e){
e.preventDefault();
e.stopPropagation();
var fn = $('#fn').val();
var ln = $('#ln').val();
$.ajax({
url: 'php/log.php',
type: 'post',
data: { 'fn': fn , 'ln': ln },
success: function(data) {
alert(data);
},
cache: false
}); // end ajax call
});
});
这是 sub.php
<?php
session_start();
require 'config.php';
$fn = $_POST['fn'];
$ln = $_POST['ln'];
$stmt = $dbh->prepare("INSERT INTO tab1(fn,ln)VALUES(?,?)");
$stmt->execute(array($fn, $ln));
echo "Saved Successfully";
?>
这是 log.php
<?php
session_start();
require 'config.php';
$fn = $_POST['fn'];
$ln = $_POST['ln'];
$stmt = $dbh->prepare("SELECT fn, ln FROM tab1 WHERE fn=? AND ln=?");
// $stmt->bindValue(1, $fn);
// $stmt->bindValue(2, $ln);
$stmt->execute(array($fn,$ln));
$row = $stmt->fetch();
if($row > 0) {
echo "Login Successful";
}
else {
echo "Login failed.";
}
?>
连接数据库的配置文件工作正常。
PHP 文件工作正常(单独测试时)
我不明白为什么警报功能在 sub.js 文件中不起作用,以及为什么数据没有插入到数据库中。
【问题讨论】:
-
你是导入jQuery库吗?
-
您的控制台中是否有任何 JavaScript 错误?
-
给你的ajax添加一个'error`回调,这样你就可以查看是否有服务器端错误,并在js控制台中查看js错误
-
查看浏览器的开发者工具。查看 JavaScript 控制台。它是否报告任何错误?查看“网络”选项卡。是否正在提出请求?它得到回应了吗?它们是否包含您期望的数据?
标签: javascript php jquery ajax pdo