<?php
session_start();
include 'db.php';
include 'header.html';
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['email'])) {
header("location:profile.php");
} elseif(!empty($_POST['email']) && !empty($_POST['pass'])) {
$email = mysql_real_escape_string($_POST['email']);
$pass = md5(mysql_real_escape_string($_POST['pass']));
$sql = mysql_query("SELECT id, name, email, pass FROM users WHERE email='$email' AND pass='$pass'");
$row = mysql_fetch_array($sql);
$id = $row['id'];
$email1 = $row['email'];
$name = $row['name'];
$num = mysql_num_rows($sql);
if($num == 1) {
$_SESSION['id'] = $id;
$_SESSION['email'] = $email1;
$_SESSION['name'] = $name;
$_SESSION['LoggedIn'] = 1;
$update = mysql_query("UPDATE users SET lastlogin=NOW() WHERE email='$email1'");
header("location:profile.php");
} else {
echo "<h1>Error</h1>";
echo "<p>Sorry! Either your account could not be found or you have entered the wrong email or password. Please try again.</p>";
}
}
?>
이 스크립트는 localhost 환경에서 완벽하게 작동하지만 호스트에 업로드하면 로그인 한 후 profile.php로 이동하지 않습니다. 또한 리디렉션되지 않습니다. 세션이 설정되었거나 비어 있지 않은 경우 profile.php. 어떤 아이디어?PHP 로그인 스크립트는 로컬에서 작동하지만 호스트에서는 작동하지 않습니다.
두 번째 질문은 'lastlogin'을 현재 시간으로 업데이트하는 데 올바른 코드입니까? 데이터베이스 구조는 무엇을해야합니까? 그것은 내 데이터베이스에서 업데이 트되지 않습니다.
도움 주셔서 감사합니다.
스크립트 상단에'error_reporting (E_ALL)'을 입력하십시오. – Yang
'NOW()'는 "2006-04-12 13:47:36"형식으로 날짜와 시간을 반환합니다. 나는 이것이 당신이 필요로하는 것이라고 생각합니다. –
@metal_fan 그랬지만 오류는보고되지 않았습니다. FakeHeal 덕분에 해당 부분을 계속 테스트 할 수 있습니다 – robk27