현재 사이트에서 작업 중이며 로그인 스크립트에서 문제가 발생했습니다.로그인 PHP 코드에서 오류가 발생했습니다.
<?php
include 'includes/connect.php';
include 'includes/core.php';
?>
<?php
$user = sanitizeString($_POST['username']);
$pass = sanitizeString($_POST['password']);
if($user == "" || $pass = ""){
$error = "Not all fields were entered<br />";
} else {
$query = "SELECT username,password FROM admins WHERE username='$user' AND password='$pass'";
if(mysql_num_rows(queryMysql($query)) == 0){
print "Wrong Username/Password <br />";
print "$user";
print "$pass";
} else {
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
print "Successfully Logged In. Redirecting...";
}
}
?>
<html>
<head>
<title>
Login
</title>
<link rel="stylesheet" type="text/css" href="css/stylesheet.css">
</head>
<body>
<div id="mainDiv">
<h2> Login</h2>
<form action="login.php" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br><br>
<input type="submit" name="login" value="Login">
</form>
</div>
</body>
</html>
저는 대부분이 불완전하지만 그게 문제가 아니라는 것을 알고 있습니다. 문제는 로그인을 시도 할 때 "잘못된 사용자 이름/비밀번호"가 표시된다는 것입니다. 추가 조사에서 $ pass가 설정되지 않았다는 것을 알았습니다.
이 왜 $ 설정하고 표시되지 패스입니다
?
'type' 값과 같은 이름으로 입력 요소의 이름을 지정하지 마십시오. 이것은 아마도 문제를 해결하지 않을 것입니다, 그냥 좋은 연습입니다. – Deryck
왜 이런 짓을하지 않습니까?! 'if (trim ($ user)! = ""&& trim ($ pass)! = "") {'. 나는 또한 if 문에서 두 번째 표현은 일치가 아니라 비교임을 보여줍니다. 디버그하는 가장 좋은 방법은'var_dump' 변수를 출력하는 것입니다. – demonking
if ($ user == ""|| $ pass = "") {''$ pass' =' ""'make가 그것 비교 연산자 – manta