2013-04-15 2 views
0

다른 HTML 페이지에 로그인 세션 정보를 전달할 수 없습니다. 아래는 내 로그인 PHP 코드입니다. 성공적으로 로그인 할 수 있지만 HTML 홈 페이지와 같은 다른 페이지로 정보를 전달할 수는 없지만 동일한 페이지에 로그인하지 않아도 열립니다. 같은 코드를 시도했습니다PHP에서 페이지간에 로그인 세션을 사용할 수 없습니다

<?php 

require_once("config.php"); 

$email=$_POST['email']; 
$password=$_POST['password']; 

$email = stripslashes($email); 
$password = stripslashes($password); 
$email = mysql_real_escape_string(strip_tags($email)); 
$password = mysql_real_escape_string(strip_tags($password)); 

// Check occurence of email password combination 
$sql="SELECT * FROM register WHERE email='$email'"; 
$result=mysql_query($sql); 


// Mysql_num_row is counting table row 
$count=mysql_num_rows($result); 

// If result matched $email, table row must be 1 row 
if($count==1) 
{ 
$row = mysql_fetch_array($result); 
if($password == $row['password']) 
{ 
session_start(); 
$_SESSION['login'] = "1"; 
header("location:home.html"); 
exit; 
} 
else 
{ 
echo "Please enter correct Password"; 
header("location:login.html"); 
session_start(); 
$_SESSION['login'] = '' 
exit(); 
} 
} 
else 
{ 
header("Location:register.html"); 
exit(); 
} 

?> 


Below is the php snippet that I use at the top of my HTML page: 
<?php 

require_once("config.php"); 
session_start(); 
if (!(isset($_SESSION['login']) && $_SESSION['login'] != '')) { 

header ("Location: login.html"); 

exit; 

} 
?> 

답변

1

.html 파일을 .php 파일로 변경하십시오. session_start();으로 시작합니다. HTML 페이지가 정적이고 PHP가 동적이기 때문입니다. 이 후

당신이 $_SESSION['login']

+0

적합합니다. 이러한 빠른 대응에 대해 Niels에게 감사드립니다. 그리고 완벽하게 작동했습니다. – user2267055

0

으로 session_start를 사용할 수 있습니다(); 로그인이 성공하면 onse에만 사용해야합니다.

"내 HTML 페이지 맨 위에 사용하는"PHP 스 니펫의 해당 줄을 삭제하십시오. 모든 것이 좋을 것입니다.

그래서 코드는 다음과 같습니다

<?php 

require_once("config.php"); 
if (!(isset($_SESSION['login']) && $_SESSION['login'] != '')) { 

header ("Location: login.html"); 

exit; 

} 
?> 
관련 문제