2012-04-24 10 views
0

現在、私のサイトにはメンバのみのサイトがあります。session_is_registereredとregister_session replacement

// Register $myusername, $mypassword and redirect to Members' Area homepage 
session_register("myusername"); 
session_register("mypassword"); 
header("location:Members_Area.php"); 

Members_Area.php:登録されたセッションのための check_login.php各ページのチェック

<?php 
session_start(); 
if (!session_is_registered(myusername)) { 
    header("location:main_login.php"); //main_login.php is the login page 
} 

はしかし、session_registerとsession_is_registeredはPHP 5.4.0で廃止されました。このコードを5.4.0で動作するようにするにはどうすればよいですか?私は使用して見ました:

$_SESSION['name'] = $myusername; 

私は現在使用している検証を実行する方法がわかりません。

答えて

1

session_registerは基本的にキーと値を$_SESSIONという特殊な配列に設定しています。それがすべてです。

これまであなたが行っている可能性があります

$mykey = "myvalue"; 
session_register('mykey'); 

を今、実行します。

$_SESSION['mykey'] = 'myvalue' 

をご利用の場合で:

$_SESSION['name'] = $username; 



<?  
session_start(); 
if(!isset($_SESSION['name')) 
    header("location:main_login.php"); //main_login.php is the login page 
}else{ 
    header("location:Members_area.php"); 
} 
?> 
+0

をだから、私のコード例で行くことに: '$ _SESSION ['name'] = 'myusername'; '?その場合は、ユーザーがログインしている各ページで確認を実行するにはどうすればよいですか? – kalaker

+0

'name'キーの通常の配列のように$ _SESSION配列をチェックすることができます – F21

+0

checklogin.phpがMembers_Area.phpに私をリダイレクトすると仮定すると、チェックは失敗し、私はmain_login.phpにリダイレクトされます。 – kalaker