2013-10-26 4 views
-5

내 웹 사이트에 로그인 페이지를 만들고 있지만 헤더 위치가 작동하지 않습니다. 여기에 login.php 코드가 있습니다 :헤더 위치가 PHP에서 작동하지 않습니다

<?php 
include ('./includes/header.php'); 

if (isset($_POST['submit'])) { 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
$check_username = mysql_query("SELECT username FROM users WHERE username='$username'"); 
$numrows = mysql_num_rows($check_username); 
if ($numrows != 1) { 
    echo 'That User doesn\'t exist.'; 
} 
else 
{ 
    $check_password = mysql_query("SELECT password FROM users WHERE password='$password' && username='$username'"); 
    while ($row = mysql_fetch_assoc($check_password)) { 
    $password_db = $row['password']; 

    if ($password_db == $password) { 
    $_SESSION['username'] = $username; 
    header("Location: members.php"); 
    } 
    } 
} 
} 

?> 
<h2>Login to Your Account</h2> 
<form action='login.php' method='POST'> 
<input type='text' name='username' value='Username ...' onclick='value=""'/><p /> 
<input type='password' name='password' value='Password ...' onclick='value=""'/><p /> 
<input type='submit' name='submit' value='Login to my Account' /> 
</form> 

누군가가 나를 도와 줄 수 있다면 정말 고맙겠습니다.

P.

당신은 여기에 헤더 파일의 PHP 부분을해야하는 경우

<?php 
session_start(); 
include ('./includes/functions.php'); 
include ('./includes/connect_to_mysql.php'); 
?> 
+2

정확히 작동하지 않는 것은 무엇입니까? – Cfreak

+0

리디렉션되지 않는 필드에 올바른 사용자 이름과 암호로 제출 단추를 누르면 나는 같은 장소에서 반향을 시도하고 잘 작동합니다. 또한 휠 i가 수동으로 members.php 페이지로 이동했기 때문에 로그인했습니다. 따라서 헤더 위치 (20 행)는 작동합니다. –

답변

-4

시도하면 제대로 작동하지 header("Location: members.php");를 참조하는 경우 헤더 PHP

0

에위한 ob_start를 추가, 당신이 필요합니다 이 위치 헤더를 보내기 전에 브라우저에 내용을 출력하지 않도록하십시오. 여기에는 header.php 나 다른 포함 된 파일에 아무 것도 출력하지 않는 것이 포함됩니다.

또한, PHP header documentation에이 메모에 따라, 당신은 위치에 전체 URI를 사용해야합니다 : 리디렉션 :

HTTP/1.1은 절대 URI를 필요 인수로»위치에 : 계획, 호스트 이름을 포함하고 절대 경로를 사용하지만 일부 클라이언트는 상대 URI를 허용합니다. 일반적으로 $ _SERVER [ 'HTTP_HOST'], $ _SERVER [ 'PHP_SELF'] 및 dirname()을 사용하여 직접 상대 URI에서 절대 URI를 만들 수 있습니다.

+0

절대 URL을 사용하는 것은 좋은 스타일이지만 더 이상 필요하지 않습니다. 제안 된 HTTP/1.1bis 업데이트 당. – mario

관련 문제