그래서 내 PHP 로그인 시스템에 약간의 문제가 있습니다. 로그인하려고하면 데이터베이스에 저장되어 있지만 정의되지 않은 인덱스가 있지만 사용자 이름/비밀번호를 잘못 말합니다. 로그인 페이지PHP 로그인 시스템
<?php include("header.php"); ?>
<?php
if(isset($_POST["user_login"]) && isset($_POST["password_login"])){
$user_login = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["user_login"]);
$password_login = preg_replace('#[^A-Za-z0-9]#i', '', $_POST["password_login"]);
$password_login_md5 = md5($password_login);
$sql = mysql_query("SELECT id FROM `users` WHERE username='$user_login'AND password='$password_login_md5' LIMIT 1");
$userCount = mysql_num_rows($sql);
if($userCount == 1){
while($row = mysql_fetch_array($sql)){
$id = $row["id"];
}
if (isset($_SESSION["user_login"]) && isset($_POST["user_login"])){
$_SESSION["user_login"] = $user_login;
header("Location: home.php");
exit();
}
}else{
echo '<div class="echo">Username/Password is incorrect</div>';
exit();
}
}
?>
헤더 페이지
<?php
mysql_connect("localhost","root") or die("Couldnt connect");
mysql_select_db("pageslip") or die("Couldnt slect db");
?>
<?php
session_start();
if(isset($_SESSION['user_login'])){
$user = $_SESSION["user_login"];
}
else
{
//header("Location: home.php");
}
?>
로그 아웃 페이지
<?php
session_start();
session_destroy();
header("Location: index.php");
?>
홈 페이지 I 현재 암호 해시에 대해 걱정하고 있지 않다
<?php
include("header.php");
if(isset($_SESSION["user_login"]) && isset($_POST["user_login"])){
echo $_SESSION["user_login"];
}
?>
다만 아직 문제의 주제에 머물러 있고 직접적인 해결책을 얻는 것이 도움이 될 것입니다.
session_start 이전에 공백을 출력 할 때 헤더가 작동하는 이유는 무엇입니까? 이것은 당신의 문제 일 수 있습니다 – Kostronor
그래서'A-Za-z0-9' 만 암호로 허용합니다 ... 사용자가 보안 암호를 사용하더라도 암호를 줄이십시오 ... – Class
정확히 어떻게 구성 할 수 있습니까? –