0

私はウェブサイトのプログラミングに関する基本的な知識を持っています。同じドメインに 2 つのアプリケーションを持つ Web サイトを作成したいと考えています。1 つ目はユーザー用で、2 つ目は私である管理者用です。これにより、データベースにサインインせずに Web サイトを管理したり管理したりすることができます。問題は、これら 2 つのセッションをどのように処理するかです。session_start の前に session_name を使用しようとしましたが、機能しません。お互いに混同しないように、すべてのセッションを独自の独立した側にするために助けが必要です。そして別の質問です。複数のセッションがある場合、これはセッションを設定する正しい方法ですか?

$_SESSION[$変数] = $変数.

編集:まだ機能していません。これは私のコードです:

<?php
@$admin = $_POST['admin'];
@$password = $_POST['password'];

if(empty($admin) OR empty($password)) {
echo 'You need to fill all the spaces.';
}

if (!empty($admin) AND !empty($password)) {
    mysql_connect('localhost','root','');
    mysql_select_db('job');
    $tip0 = mysql_query("SELECT admin, password FROM admin WHERE admin = '".mysql_real_escape_string($admin)."' AND password = '".md5($password)."'");
    if(mysql_num_rows($tip0)==TRUE) {
    $_SESSION['admin']['login'] = $admin;
    header('location:administrator.php');
    echo 'Session has been created';
    }
    elseif(mysql_num_rows($tip0)==FALSE) {
    echo 'There is no admin.';
    }

}

?>


<html>
<body>

<form action="admin_login.php" method="POST"></input><br />
Admin: <input type="text" name="admin"></input><br />
Password: <input type="password" name="password"></input><br />
<input type="submit"></input>

</form>
</body>
</html>

そして、これはリダイレクトページです:

    <?php
session_start();

if (isset($_SESSION['admin']['login'])) {
echo 'Here we go.';
}
elseif(!isset($SESSION['admin']['login'])) {
echo 'Not found';
}

?>
4

3 に答える 3

3

セッションは、session_start() の後にのみ使用できます。これが機能するように、配列内に配列を作成できます。次のようなことを試すことができます:

$_SESSION['user']['name'] = 'Something';
$_SESSION['user']['email'] = 'Something';

管理者向け:

$_SESSION['admin']['something'] = 'Something';

編集: session_start(); を使用することを忘れないでください。セッションを使用するすべてのページで。最初のページでそれを忘れたようです。

于 2013-02-28T12:39:28.900 に答える
1

管理者関連の変数を格納するために$_SESSION['admin'] []を使用してみませんか?

たとえば、$ _ SESSION ['admin'] ['login'] ='Mansour Fahad';

于 2013-02-28T12:37:19.547 に答える
1

私はこれを好むでしょう:

Webサイト:

define('SES_PREFIX' , 'website-');
$_SESSION[ SES_PREFIX . 'user'] = 'waqar';

管理者:

define('SES_PREFIX' , 'admin-');
$_SESSION[ SES_PREFIX . 'user'] = 'admin';

これにより、同じアプリケーションの複数のコピーを同じドメインにデプロイできます。

于 2013-02-28T12:46:18.527 に答える