1

私はhttp://tutorialzine.com/2009/10/cool-login-system-php-jquery/の PHP ログイン システムを使用しています。方法:

<?php
define('INCLUDE_CHECK',true);
require 'connect.php';
require 'functions.php';
// Those two files can be included only if INCLUDE_CHECK is defined

session_name('tzLogin');
// Starting the session

session_set_cookie_params(1*7*24*60*60);
// Making the cookie live for 1 weeks

session_start();
if($_SESSION['id'] && !isset($_COOKIE['tzRemember']) && !$_SESSION['rememberMe'])

..........

メイン ログイン ページから後続のページ (制限されたコンテンツを含む) にセッション変数を引き継ぐことができないことを除けば、これまでのところ問題ありません。これは、制限された各コンテンツ ページの先頭に配置する予定の基本的なコードです。

<?php
session_name('tzLogin');
session_set_cookie_params(1*7*24*60*60);
session_start();
    if($_SESSION['id'])  <-- I believe I need more code here (incldue the cookie)
{
//If all is well, I want the script to proceed and display the HTML content below.
}
else 
{
header("Location: MainLogin.html");
or die;
//redirects user to the main login page.
}
?>

ご覧のとおり、私はまったくの初心者ですが、どんな助けでも大歓迎です。今のところ、適切にログインしている場合でも、制限されたコンテンツ ページがホームページにリダイレクトされ続けています。したがって、SESSION 状態が引き継がれていないのではないかと思います。再度、感謝します!

4

1 に答える 1

0

session_set_cookie_params を呼び出すときに、パスとドメインを設定したことを確認する必要があります。

session_set_cookie_params ( 1*7*24*60*60, '/','.yourdomain.com')

http://php.net/manual/en/function.session-set-cookie-params.phpを参照してください (httpOnly 属性も設定することをお勧めします)。

さらに、実際にセッション ID キーに何らかの値を割り当てていることを確認してください (コード サンプルでは明確ではありません)。

$_SESSION['id'] = 'some value';

最後に、デバッグ中に session_status() を使用して、実際にセッションを正しく開始したことを確認することをお勧めします (http://php.net/manual/en/function.session-status.php)。

于 2013-01-25T04:57:45.457 に答える