2014-01-22 2 views
1

제 질문은 혼란 스럽습니다. Facebook과 마찬가지로 메인 페이지도 있습니다. 로그인 후 URL은 동일하지만 로그인/등록 페이지를 보는 대신 뉴스 피드 등을 볼 수 있습니다.MySql db로 로그인 한 후 웹 사이트에 대한 일반 정보

나는 로그인 한 후에 echo 메시지를 받으면 내 웹 페이지에서 PHP를 사용합니다. 로그인했습니다! " 웹 사이트의 새로운 레이아웃으로 기본 페이지로 다시 리디렉션 할 수 있습니까? 그렇지만 URL은 동일하게 유지 될 수 있습니까?

<?php> 
require('nameofit.php'); 

if(isset($_POST['submit'])){ 
$Username = mysql_escape_string($_POST['Username']); 
$pass = mysql_escape_string($_POST['pass']); 
$pass = md5($pass); 

$sql = mysql_query("SELECT * FROM `users` WHERE `Username` = '$Username' AND `pass` = '$pass'"); 
if(mysql_num_rows($sql) > 0){ 
    echo "You're logged in."; 
    exit(); 
}else{ 
    echo "Wrong Username or Password, make sure you entered the right information."; 

} 

}else{ 


$form = <<<EOT 
<form action="login.php" method="post"> 
Username: <input type="text" name="Username" /><br /> 
Password: <input type="password" name="pass" /><br /> 
<input type="submit" name="submit" value="Login" /> 
</form> 
EOT; 
echo $form; 
} 

?> 
+2

예 그 수를 사용하십시오. – str

+0

더 구체적으로 질문이 필요합니다. EDIT. 예를 들면 : 당신은 무엇을 사용합니까? 프레임 워크? 순수 PHP? 코드 및 로그인 함수의 예를 게시 할 수 있습니까? –

+1

현재 페이지를 떠나지 않고 마술처럼 페이지를 업데이트하는 것에 대해 이야기 할 때는 AJAX 및 일반적으로 jQuery 또는 다른 AJAX 라이브러리에 대해 이야기하고 있습니다. google과 google! –

답변

2

, 당신은 header

header('Location: ' . $_SERVER['HTTP_REFERER']); 

당신이 이전 페이지로 리디렉션됩니다 것을 사용하는 것이 할 수 있습니다.

또는 당신은 당신이 원하는대로 설정할 수 있습니다

header('Location: index.php'); 
header('Location: /index.php'); 
header('Location: http://www.yoursite.com'); 
header('Location: directory/whatever/page.php'); 

솔루션

if (mysql_num_rows($sql) > 0) { 
    header('Location: ' . $_SERVER['HTTP_REFERER']); 
} else { 
    echo "Wrong Username or Password, make sure you entered the right information."; 
} 

그렇게 중요하지 않습니다.

SELECT 또는보기에 데이터베이스의 내용을 실행하지 마십시오.

good pratices, always update your knowledge는, 등등 MVC, PDO,

+0

위치 헤더에 절대 URL이 필요하거나 많은 브라우저가 실패 할 것이라고 생각합니다. – ToBe

+0

근실하게 나는 모른다, 나는 지금 검사 할 것이다. –

+0

@ user2654319 내 대답으로 문제가 해결 되었습니까? –

0

성공적인 로그인 후 세션에 로그인 한 사용자에 대한 정보를 저장하고 페이지를 새로 고침하십시오. 기본 페이지에서 사용자에 대한 정보가 세션에 있는지 먼저 확인하십시오. 그렇지 않다면 로그인 페이지를 표시하십시오. 그렇다면 일반 내용, 뉴스 등을 표시하십시오. 로그인 작업이 POST 경우

0
<?php 

    $logincookie = $_COOKIE['login']; 

    if($logincookie == 'value'){ 
     //MAIN PAGE 
    }else{ 
     //LOGIN PAGE 
    } ?> 
+0

쉽게 알아볼 수있는 로그인 상태로 쿠키를 사용하지 마십시오. 대신 $ _SESSION을 사용하십시오. – ToBe

관련 문제