我想使用Aptana IDE和xampp做一个网站,它有几页.索引页面是指未登录系统和主页的所有用户必须访问系统的所有用户所在的位置.我是开发网站的新手.
我决定使用Ajax登录注册页面.它实际上是正常的.但现在我不知道为什么不这样做.
在我的login.html页面中
<form id="login-form" class="text-left" method="post">
<div class="main-login-form">
<div class="login-group">
<div class="form-group">
<label for="lg_username" class="sr-only">Username</label>
<input type="text" class="form-control" id="lg_username" name="username" placeholder="username"
data-container="body" data-toggle="popover" data-placement="left" data-content=""
value="">
</div>
<div class="form-group">
<label for="lg_password" class="sr-only">Password</label>
<input type="password" class="form-control" id="lg_password" name="password" placeholder="password"
data-container="body" data-toggle="popover" data-placement="left" data-content="">
</div>
<div class="form-group login-group-checkBox">
<input type="checkBox" id="lg_remember" name="lg_remember">
<label for="lg_remember">remember</label>
</div>
</div>
<button type="submit" class="login-button">Submit</button>
</div>
</form>
并使用JQuery验证进行表单验证
$(document).ready(function () {
$('#login-form').validate({
rules: { //rules goes here},
messages: { //messages goes here},
submitHandler: submitForm
});
它工作正常.我的所有规则都已实施.
提交功能:
function submitForm(){
var username = $('#lg_username').val();
var password = $('#lg_password').val();
var checkBox = $('#lg_remember').is(":checked");
var strAjax = "username=" + username + "&password=" + password + "&checkBox=" + checkBox;
alert(strAjax);
$.ajax({
type: 'POST',
url: 'loginAjax.PHP',
data: strAjax,
cache: false,
success: function(data) {
alert(data);
if(data == "1") {
window.location.href = "home.PHP";
}
else {
//Error messages
}
}
});
return false;
}
<?PHP
require_once 'dbcon.PHP';
session_start();
$username = MysqL_real_escape_string($_POST["username"]);
$password = MysqL_real_escape_string($_POST["password"]);
$sql = "SELECT * FROM tbl_user WHERE userName = '$username' AND password = '$password'";
$result = MysqL_query($sql);
$count = MysqL_num_rows($result);
$row = MysqL_fetch_array($result);
if($count == 1){
if($_POST['checkBox'] == TRUE) {
if(!isset($_COOKIE['name'])) {
setcookie( 'name', $row['userName'], time() + (86400 * 30) );
}
}
$_SESSION['user_session'] = $row['userName'];
echo TRUE;
}
else {
echo FALSE;
}
?>
dbcon.PHP文件连接到MysqL数据库.我试着控制它是进入ajax方法还是从带有警报的PHP文件返回的内容. strAjax似乎是正确的但警报(数据)显示我的PHP代码是这样的;
我将登录文件更改为PHP文件而不是html.但问题不在于此.我所有的ajax代码都从PHP中获取数据.在我的电脑PHP文件正常运行.如果您需要更多信息,我可以编辑我的帖子.为什么这个ajax conk?
解决方法:
var formData = {
'username' : $('input[name=username]').val(),
'password' : $('input[name=password]').val(),
'lg_remember' : $('input[name=lg_remember]').val()
};
// process the form
$.ajax({
type : 'POST', // define the type of HTTP verb we want to use (POST for our form)
url : 'process.PHP', // the url where we want to POST
data : formData, // our data object
dataType : 'json', // what type of data do we expect back from the server
encode : true
})
试试这个
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。