2014-09-17 4 views
0

먼저, HTML/PHP/Javascript의 새로운 기능을 처음 접하게되었습니다. 사용자 로그인 후 PHP에서 IFrame src를 변경하십시오.

나는 당신이 볼 수 있듯이

... 
<body> 
    <div id="content"> 
      <iframe width="100%" height="100%" frameborder="0" src="home.html" name="content_frame"/> 
    </div> 
</body> 
... 

, 그것은 다른 페이지를 포함하는 간단한 IFrame을 내 index.html 파일에서 다음을 얻었다. 다른 페이지 인 home.html에는 로그인 양식이 있습니다. 사용자 로그인 후 위의 IFrame의 src를 다른 페이지로 변경하려고합니다. 나는 그걸하는 법을 모른다. 잠시 동안 검색했지만 많은 결과를 얻지 못했다. (나는 내가 가진 것들을 정말로 이해하지 못했다.)

는 PHP 로그인은 현재로서는 다음과 같습니다

<?php 
ob_start(); 
session_start(); 

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

... //gets user/pass from mysql database, bla bla bla 

if($hash != $hash2) // Incorrect password. 
{ 
    //go back to login page 
    header('Location: ../index.html'); 

}else{ // Successful login. 

    session_regenerate_id(); 
    $_SESSION['sess_user_id'] = $userData['id']; 
    $_SESSION['sess_username'] = $userData['username']; 
    session_write_close(); 

    //change iframe src to home page 
    //???? how? 
} 

>

나는 사용자가 온라인 나는이 PHP 코드를 사용할 수 있는지 확인하기 위해 내 웹 사이트에 무엇을

답변

1

PHP 로그인 페이지에는 아무 것도하지 않아도됩니다. 사용자가 로그인하면 두 세션 변수 $ _SESSION [ 'sess_user_id'], $ _SESSION [ 'sess_username']을 (를) 활성화합니다. 따라서이 두 변수 중 하나라도 설정되어 있는지 확인한 다음로드 할 iframe을 결정하면됩니다.

먼저 그 결정을 내릴 그래서 PHP를 실행할 수 있습니다을 index.php하기 위해 index.html을 이름을 변경하고 페이지 상단에 다음 줄을 추가하여 세션을 시작합니다

<?php session_start(); ?> 

그런 다음 현재 편집 다음 행의 iframe 행 :

<?php if(isset($_SESSION['sess_user_id'] || isset($_SESSION['sess_username'])) { ?> 
    <iframe width="100%" height="100%" frameborder="0" src="some-other-page.html" name="content_frame" /> 
<?php } else { ?> 
     <iframe width="100%" height="100%" frameborder="0" src="home.html" name="content_frame" /> 
<?php } ?> 

이것은 가장 간단한 방법입니다.

0

:

class Init { 
    public static $logged_in = false; 
    $session = intval($_SESSION['sess_user_id']); 
     if(empty($session)){ 
      self::$logged_in = true; 
     } else { 
      self::$logged_in = false; 
     } 
} 

iframe이있는 웹 사이트에서 사용자가 로그인했는지 확인할 수 있습니다. 홈 페이지가 표시되면 다른 페이지를 표시하지 않을 수도 있습니다.

<?php if(Init::$logged_in){ ?> 
    <iframe width="100%" height="100%" frameborder="0" src="nothome.html" name="content_frame"/> 
<?php } else { ?> 
    <iframe width="100%" height="100%" frameborder="0" src="home.html" name="content_frame"/> 
<?php } ?> 
관련 문제