이제 SQL 데이터베이스를 사용하는 방법을 배우기 시작했습니다. 나는 YouTube 튜토리얼을 따라 가고 있었다. 그러나 데이터베이스에 연결하는 데 문제가있는 것 같습니다. 나는 cPanel에서 phpMyAdmin과 MySQL을 사용하고 있습니다.PHP 및 SQL 로그인 - "사용자를 찾을 수 없음"
로그인 페이지를 테스트 할 때 phpMyAdmin에서 수동으로 설정 한 사용자 계정의 정보를 입력했지만 "입력 한 사용자 이름을 찾을 수 없습니다."라는 오류가 계속 표시됩니다.
내가 뭘 잘못하고 있니? 정확한 데이터베이스 이름과 암호 및 올바른 데이터베이스 이름을 입력하고 있음을 알고 있습니다. 여기
<?php
mysql_connect("localhost", "username", "password");
mysql_select_db("databasename");
?>
내 login.php입니다 : 여기
내 connect.php의
if ($_POST['loginbtn'])
{
$user = $_POST['user'];
$password = $_POST['password'];
if ($user)
{
if ($password)
{
require("connect.php");
$password = md5(md5("additional".$password."additional"));
// echo "$password";
$query = mysql_query("SELECT * FROM users WHERE username='$user'");
$numrow = mysql_num_rows($query);
if (!numrows == 1)
{
$row = mysql_fetch_assoc($query);
$dbid = $row['id'];
$dbuser = $row['username'];
$dbpass = $row['password'];
$dbactive = $row['active'];
if ($password == $dbpass)
{
if ($dbactive == 1)
{
//set session info
$_SESSION['userid'] = $dbid;
$_SESSION['username'] = $dbuser;
echo "You have been logged in as <b>$dbuser</b>. <a href='./member.php'>Click here</a> to go to the member page.";
}
else
echo "You must activate your account before you can logon. $form";
}
else
echo "You did not enter the correct password. $form";
}
else
echo "The username you entered was not found. $form";
mysql_close();
}
else
echo "You must enter your password. $form";
}
else
echo "You must enter your username. $form";
}
else
echo $form;
?>
변장 *으로 축복을 부르십시오. MD5 및 더 이상 사용되지 않는 MySQL 기능은 치명적인 혼란을 야기합니다. 그 자습서는 철저히 웹에서 제거해야합니다. 너는 너의 열쇠를 버리고 문을 활짝 열어 놓는 것도 좋을 것이다. MD5 주제에 대해 읽어보십시오. http://security.stackexchange.com/questions/19906/is-md5-considered-insecure –
[** 준비된 명령문과 함께 ** mysqli **] (http : //www.php .net/manual/ko/mysqli.quickstart.prepared-statements.php) 또는 [** 준비된 명령문이있는 PDO **] (http://php.net/pdo.prepared-statements). 암호 저장을 위해서는 [** CRYPT_BLOWFISH **] (http://security.stackexchange.com/q/36471) 또는 PHP 5.5의 ['password_hash()'] (http : // www.php.net/manual/en/function.password-hash.php) 함수를 호출합니다. PHP <5.5의 경우 [password_hash() 호환 팩]을 사용하십시오 (https://github.com/ircmaxell/password_compat). –
데이터베이스에 연결 중입니다. 그러나'! numrows == 1'은 하나의 결과 (쿼리에서 한 행) 만 반환했다면'입력 한 사용자 이름을 찾을 수 없습니다 ... '라고 말합니다. 아마도'numrows == 1 '또는'numrows> 0 '일 수 있습니다. –