好吧我有2个文件夹。这就是我的布局现在在我的服务器上的样子。
文件夹:
的Ajax /
处理器/
文件:
的login.php
Carelogin.php
最初我没有处理器文件夹。所以我的carelogin.php下面有我的login.php文件,一切正常。
现在,因为我将login.php文件放入处理器文件夹并更改了我的ajax文件夹中的functions.js中的路径,所有内容都搞砸了。
这是我的ajax功能。
$(function() {
$("#submit_login").click(function() {
var username = $("input#username").val();
if (username == "") {
$('.errormess').html('Please Insert Your Username');
return false;
}
var password = $("input#password").val();
if (password == "") {
$('.errormess').html('Please Insert Your Password');
return false;
}
var dataString = 'username='+ username + '&password=' + password;
$.ajax({
type: "POST",
url: '/processor/login.php',
data: dataString,
dataType: "html",
success: function(data) {
if (data == 0) {
$('.errormess').html('Invalid username/password combination');
} else {
$('.errormess').html('<b style="color:green;">Thanks for loggin in</b>');
document.location.href = 'home.php';
}
}
});
return false;
});
});
正如您所看到的,我已将其指向/processor/login.php并且它不再起作用。只是不断登录,就像它甚至不再检查login.php文件一样。即使有错误的信用,我现在仍然可以登录。
当我有那个url只是指向login.php时,一切都很完美。
这是我的carelogin.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link type="text/css" rel="stylesheet" href="css/pagecss/logincss.css" />
<script type="text/javascript" src="ajax/jquery.js"></script>
<script type="text/javascript" src="ajax/functions.js"></script>
</head>
<body>
<div class='container'>
<img src='images/tigger.png' class='logo'/>
<div class="login_form">
<form method="POST" action="/processor/login.php">
<input type="text" name="username" id="username" placeholder="Username" /><br />
<input type="password" name="password" id="password" placeholder="Password" /><br />
<input type="submit" id="submit_login" name="submit" class="inputbutton grey" value="Login" />
<span class="login_loading"></span>
<span class="errormess"></span>
</form>
<p class='version'>Version 1.6.1119.15 </p>
</div>
</div>
</body>
</html>
最后,这是我的login.php文件
<?php
session_start();
require 'connect.php';
if(mysqli_connect_errno()) {
echo 'Failed to Connect to MySQL' . mysqli_connect_errno();
}
if (isset($_POST)) {
$user = $_POST['username'];
$pass = md5($_POST['password']);
$query = mysqli_query($conns, "SELECT * FROM tech WHERE username = '$user' and password = '$pass'") or die("Can not query the DB");
$count = mysqli_num_rows($query);
if($count == 1) {
$_SESSION['username'] = $user;
echo $user;
}
}
?>
答案 0 :(得分:0)
我在你的文件夹列表中看到:
'Processor'
在您的ajax调用中,您的网址指向:
'/processor/login.php'
请记住,PHP区分大小写
如果你的ajax cal在'Ajax文件夹'中,你可能需要这样做:
'../processor/login.php'
答案 1 :(得分:0)
添加:
else{
echo $count;
}
后:
if($count == 1) {
$_SESSION['username'] = $user;
echo $user;
}
您的ajax条件将始终执行else语句,因为返回到您的ajax的值是用户的用户名。
也可以编辑:
<script type="text/javascript" src="ajax/jquery.js"></script>
<script type="text/javascript" src="ajax/functions.js"></script>
到此:
<script type="text/javascript" src="../ajax/jquery.js"></script>
<script type="text/javascript" src="../ajax/functions.js"></script>