2016-10-06 3 views
-2

저는 PHP에 익숙하지 않습니다. 등록 및 로그인을 시도하고 있습니다.Loggin in PHP가 작동하지 않습니다.

내가 새로운 사용자로 등록하면 데이터베이스에서 작동합니다. 그러나 로그인 할 때 모든 것을 시도한 문제가있는 것 같습니다.

사용자가 로그인하면 홈 페이지로 리디렉션되고 로그인 정보가 잘못되면 오류 메시지가 표시됩니다.

<?php 

session_start(); 

if(isset($_SESSION['users_id']) ){ 
    header("Location: /"); 
} 

require 'database.php'; 

if(!empty($_POST['email']) && !empty($_POST['password'])): 

    $records = $conn->prepare('SELECT id,email,password FROM users WHERE email = :email'); 
    $records->bindParam(':email', $_POST['email']); 
    $records->execute(); 
    $results = $records->fetch(PDO::FETCH_ASSOC); 

    $message = ''; 

    if(count($results) > 0 && password_verify($_POST['password'], $results['password']) ) 
    { 
     $_SESSION['users_id'] = $results['id']; 
     header("Location: php.dev/index.php", true, 301); exit(); 
    } 
    else { 
     $message = 'Sorry, thoes credentials do not match'; 
    } 

endif; 

?> 

header("Location:....)이 작동하지 않는 것 : 여기

파일에 로그에있는 PHP 코드입니다. 나는 정말로 여기에 어떤 도움이 붙어 있나?

header("Location: php.dev/index.php", ture, 301); 

:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Login</title> 
<link href="Style/phpstyle.css" rel="stylesheet" type="text/css"> 
<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet"> 

</head> 

<body> 

<div class="header"> 
    <a href="php.dev/index.php"> TIPBUCKET </a> 
</div> 

<?php if(!empty($message)): ?> 
    <p><?= $message ?></p> 
<?php endif; ?> 

<h1>Login</h1> 

<span> or <a href="register.php">Register here</a></span> 

<form action="login.php" method="POST"> 

<input type="text" placeholder="enter your email" name="email"> 

<input type="password" placeholder="Password" name="password"> 

<input type="submit"> 

</form> 

</body> 
</html> 

This is what happens when i log in

어떤 대답 : 당신은 당신의 헤더에 오타가

+0

'php.dev/index.php'는 무엇을 의미합니까? 확실히 그것은 URL이 아닙니다 ... – arkascha

+0

현재 로컬 호스트 MAMP를 사용하고 있으므로 현재 URL은 php.dev이고 index.php는 홈 페이지입니다 – user3719086

+2

유효한 URL은'http://php.dev/ index.php'. 'php.dev/index.php'는 도트와 슬래시가있는 임의의 문자열입니다. – arkascha

답변

0

에 미리 감사합니다 : 여기

는 HTML 코드입니다

이어야합니다.
header("Location: php.dev/index.php", true, 301); 
+0

좋은 눈. 그러나 여전히 똑같은 일이 발생합니다. – user3719086

+0

오류 메시지가 나타 납니까? – BananasSplitter

+0

"if {count ($ results) ............}"를 건너 뛰고 "else {$ message ......}"행으로 이동하여 ' 죄송합니다. 자격 증명이 일치하지 않습니다 ' – user3719086