로그인을 시도했지만 로그인하지 않으면 그냥 빈 페이지에 머물러 있습니다. 오류가 표시되지 않았습니다.로그인 실패
나는 index.php에서 양식을 만들었습니다. 사용자가 로그 아웃하지 않으면 사용자 이름이 페이지에 출력됩니다. 사용자가 로그인하지 않은 경우 로그인 양식이 표시됩니다. 아래에 다음 코드 :
는<?php
ob_start();
session_start();
ini_set('display_errors', 1);
error_reporting(-1);
?>
<?php
include "../config/dbconnect.php";
if(isset($_POST['submit'])) {
$username = trim($_POST['email']);
$password = trim($_POST['password']);
$username = $mysqli->real_escape_string($username);
$password = $mysqli->real_escape_string($password);
$salt = sha1(md5($password));
$epwd = md5($password.$salt);
$loginUser = " SELECT * FROM memberTable
WHERE email = '$email' AND password = '$epwd'";
$loginSuccess = mysqli_query($mysqli, $loginUser) or die(mysqli_error($mysqli));
$loginRow = mysqli_num_rows($loginSuccess);
if($loginRow === 1) {
session_start();
$_SESSION['login'] = true;
$user_info = mysqli_fetch_assoc($loginSuccess);
$_SESSION['user_info'] = $user_info; // put user_info to call all details for later use
header ("Location: ../index.php");
} else {
header ("Location: ../header.php");
}
mysqli_close($mysqli);
}
?>
dbconnect.php에 대한 다음 코드는 다음과 같습니다 :
<?php
//Open a new connection to the MySQL server
$mysqli = new mysqli('localhost','root','root','database_name');
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
?>
아래와 같이
<div class="topRight">
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
include "config/dbconnect.php";
if(isset($_SESSION['login'])&&!empty($_SESSION['login'])) {
$name = $_SESSION['user_info']['name'];
echo '<p> <a href="profileUser"> Profile : $name </a>';
} else {
echo '<form action="actions/login.php" method="POST">
<input type="text" name="email" placeholder="Email">
<input type="password" name="password" placeholder="Password">
<input type="submit" value="LOGIN">
</form>';
echo '<p> <a href="registerForm.php" class="underline"> Not a member? Register here! </a> </p>
<p> <a href="actions/logout.php"> Logout </a> </p>';
}
?>
</div>
로그인 후
, 직접적 의지 login.php하기
결과는 양식으로 로그인하면 login.php로 성공적으로 이동합니다. 그러나 빈 페이지가있어서 index.php로 리다이렉트하지 않고 멈췄다. 표시된 오류가 없습니다. 내가 무슨 짓을
은 다음과 같습니다
- 단순히
ini_set('display_errors',1);
를 놓고 여전히 오류가 표시되지 않습니다. - dbconnect.php를 점검했고 dbconnect.php에 대한 index.php와 login.php 간의 연결이 매우 잘 연결되었습니다.
여전히 screenshot과 같은 기호는 표시되지 않았습니다. 내가 놓친 게 있니?
첫 번째 코드 상자에'session_start();'가 있습니까? 그렇지 않으면 당신은 그것을 놓쳤다 – Rizier123
@ Rizier123 오, 야! 나는이'session_start();를 놓쳤다. 알려 줘서 고마워. – Anthosiast
그게 오류를 해결 했나요? – Rizier123