다음과 같은 방법을 사용하여 PHP 사용자의 로그인 양식을 만듭니다. 문제가 생겼어요. 친절하게 제가 실수를하고있는 곳을 안내해줍니다.MySql을 사용하여 PHP 로그인
로그인 양식 :
<section class="login">
<div class="titulo">Student Result Control System</div>
<form action="do_login.php" method="post">
<input name="user" type="text" id="user" size="25" placeholder="Username" />
<input name="password" type="password" id="password" size="25" placeholder="Password" />
<div class="olvido">
<div class="col">
<a href="forgot_password.php" style="cursor:hand">Forgot Password?</a>
</div>
</div>
<center><input name="submit" type="submit" value="Login" class="submit"/></center>
</form>
</section>
do_login.php :
<?php
include 'authentication.php';
include 'includes/userdbConnect.php';
?>
<?php
$my_user = $_POST['user'];
$my_password = $_POST['password'];
if ($my_user == '' || $my_password == '')
{
$myURL = 'http://localhost/lesson/error.php?eType=pass';
header('Location: '.$myURL);
exit;;
}
$login = mysql_query("SELECT * FROM users where `username` = $my_user and `password` = $my_password ") or die("SELECT Error: ".mysql_error());
if (mysql_num_rows($login) > 0)
{
session_start();
$_SESSION['login_status'] = "yes" ;
$myURL = 'http://localhost/lesson/admin.php';
header('Location: '.$myURL);
}
else
{
$myURL = 'http://localhost/lesson/error.php?eType=wrong';
header('Location: '.$myURL);
exit;
}
?>
가 포함 userdbConnect.php :
<?php
error_reporting(E_ERROR);
global $link;
$servername='localhost';
$dbname='school';
$dbusername='root';
$dbpassword='';
$table_Name="users";
$link = mysql_connect($servername,$dbusername,$dbpassword);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
else
{
mysql_select_db($dbname,$link) or die ("could not open db".mysql_error());
}
?>
가 친절하게 내가 리디렉션되지 이대로 실수를 데 나를 인도 admin.php 페이지로 이동하십시오. 나는 지금 당신의 코드를 편집이 시도
$login = mysql_query("SELECT * FROM users where `username` = '".$my_user."' and `password` = '".$my_password."'") or die("SELECT Error: ".mysql_error());
을 찾을 수 있기를 바랍니다. 그게 효과가있다. 그렇지 않으면'mysql_error'를 물어보십시오. 덜 안정적인 코드 작성에 관심이 있다면 PDO 및 매개 변수 바인딩을 읽으십시오. – mario
$ myURL은 무엇입니까? –
쿼리의 문자열은''\'username \'= '$ my_user'및 \'password \'= '$ my_password' '로 인용해야합니다. 그러나 귀하는 귀하의 질의에 비 (非) 사용자 화 된 사용자 데이터를 직접 사용해서는 안됩니다. 또한 암호는 일반 텍스트가 아니어야합니다. – Sean