嘿,我正在使用 JQuery 调用文件“login.php
”。当我在弹出模式中单击登录时,出现错误
Access denied for user 'urbanas8'@'localhost' (using password: NO)
当我知道与数据库的连接是正确的并且它与不调用外部 PHP 文件的其他页面一起工作时。我不明白为什么会出现此错误,但也许你们中的一个人可以告诉我这是怎么回事?
登录模式
<!--LOGIN MODAL -->
<?php require_once( "./inc/connect.inc.php" ); ?>
<div class="modal fade col-sm-4 col-sm-offset-4" id="login" role="dialogue">
<div class="modal-dialogue">
<div class="modal-content">
<form action="" method="POST">
<div class="modal-header">
<h4>Login</h4>
</div>
<div class="modal-body row">
<div class="form-group">
<div class="col-sm-12">
<input type="text" class="form-control" id="userName" placeholder="email address">
</div>
<div class="col-sm-12">
<input type="password" class="form-control" id="userPassword" placeholder="password">
</div>
<!-- END ADDRESS FORM -->
</div>
</div>
<div class="modal-footer">
<button type="button" class = "btn btn-warning" id="loginButton" value="login" name="/login">Login</button><a class = "btn btn-warning" data-dismiss = "modal">Cancel</a>
</div>
</form>
<script>
$(document).ready(function(){
$("#loginButton").click(function(){
console.log("test123");
var username = $("#userName").val();
var password = $("#userPassword").val();
$.post("../login.php", {login:username, password:password}, function(data){
console.log(data);
});
});
});
</script>
</div>
</div>
</div>
登录.php
<?php
if(isset($_POST['login'])){
echo "<br>login is set<br>";
$user_login = strip_tags($_POST['login']);
echo $user_login."<br>";
$password_login = strip_tags($_POST['password']);
echo $password_login."<br>";
$password_login = md5($password_login);
echo $password_login."<br>";
$sql = mysql_query("SELECT * FROM users WHERE email='$user_login' AND password='$password_login' LIMIT 1") or die(mysql_error());
$userCount = mysql_num_rows($sql);
echo $userCount."<br>";
if($userCount == 1){
while($row = mysql_fetch_array($sql)){
$user_id = $row["id"];
$user_fname = $row["first_name"];
$user_lname = $row["last_name"];
$user_membersince = $row["date"];
}
$_SESSION['user_email'] = $user_login;
$_SESSION['user_fname'] = $user_fname;
$_SESSION['user_lname'] = $user_lname;
$_SESSION['user_membersince'] = $user_membersince;
echo("logged in!");
}else {
echo("invalid username/password");
}
}
?>
connection.inc.php
<?php
$db = mysql_connect("localhost:3306", "urbanas8_login", "Ure1982*") or die(mysql_error);
mysql_select_db('urbanas8_db', $db) or die(mysql_error());
?>
最佳答案
您用于登录 mysql 的用户名存在问题。您的错误消息显示用户名“urbanas8”,但您的连接文件显示“urbanas8_login”。
您没有在 login.php 中包含文件“connection.inc.php”
我建议您使用 mysqli 而不是 mysql。它已被弃用。
<?php
//conection:
$link = mysqli_connect("myhost","myuser","mypassw","mybd") or die("Error " . mysqli_error($link));
//consultation:
$query = "SELECT name FROM mytable" or die("Error in the consult.." . mysqli_error($link));
//execute the query.
$result = $link->query($query);
//display information:
while($row = mysqli_fetch_array($result)) {
echo $row["name"] . "<br>";
}
?>
关于javascript - 通过 JQuery 运行外部 php mysql 查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31175569/