내 스크립트는 사용자를 내 데이터베이스에 로그인해야합니다.SELECT 쿼리를 수행 할 수 없습니다.
사용자 이름과 암호가 스태프 테이블의 행과 일치하는지 확인하여이 작업을 수행합니다.
사용자 이름과 암호가 존재하는 것으로 확인되면 사용자 이름과 암호가 쿠키에 저장됩니다.
내가 갖는 문제는 사용자가 로그인되지 않는 것이다.
그것은 다음과 같은 변수가 버튼을
$ 행을 클릭시 다음과 같은 값을 에코 방법을 통해 확인 된 것입니다 양식에 사용자 이름 필드에 무엇이든 = 0 $ 사용자 이름 =
이 쿼리
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 'the_shop';
mysql_select_db($dbname);
if(isset($_GET['submit']))
{
$username = $_GET['username'];
$password = md5($_GET['password']);
echo "$username + $password <br />";
// insert user into db
// $sql = "INSERT INTO `logindb`.`users` (`id`, `username`, `password`) VALUES (NULL, '".$username."', '".$password."');";
// echo $sql;
// $result = mysql_query($sql);
// getting user from db
$query = "SELECT Username, Password FROM staff WHERE `Username`='.$username.'";
$result = mysql_query($query)
or die(mysql_error());
$num=mysql_numrows($result);
echo $num;
if($num <= 0) {
echo "login not successful";
echo "$username";
}
else
{
$_SESSION['username'] = '$username';
$_SESSION['password'] = '$password';
//header("Location:Admin_Control_panel.php");
}
}
?>
에 문제가 있음을 나타내는 것
[** 새 코드 **에서 mysql_ * 함수를 사용하지 마십시오. (http://bit.ly/phpmsql). 그들은 더 이상 유지되지 않으며 [공식적으로 사용되지 않습니다] (http://j.mp/XqV7Lp). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. – Kermit
mysql_num_rows ($ result);는 mysql_numrows가 아니지만, 어쨌든 mysql을 사용해야한다. –
왜 사용자 이름 만 확인하고 비밀번호는 확인하지 않습니까? –