1

私はこれを持っています:main.php:

ID: <input name="id" id="id" type="text" size="20" value="<?php echo $_POST['id']; ?>"><br>
Password: <input name="password" id="password" type="password" value="<?php echo $_POST['password']; ?>" size="20">

ファイル main.php はインデックス ページです。

ファイル main.php は action="main.php" のフォームです

main.php から console.php に移動すると、ID とパスワードの値が取得できません。

main.php から plugins.php に移動すると、ID とパスワードの値が取得できません。

main.php から、plugins.php と console.php に入ることができます。しかし、その値は得られません。

なぜそれが起こるのか知っています。

これを修正する方法は?console.php または plugins.php に移動したときに、フィールドが記憶されたままになるようにするにはどうすればよいですか?

セッションは私が学ぶには難しすぎる。他の解決策はありますか?

4

2 に答える 2

3

あまりにもハード?簡単に言えば、セッションを使用するすべてのページの上部で、 を使用しますsession_start()。では、何かをセッションに保存しますか?

#page1
session_start();
$_SESSION['foo'] = 'bar';

#page2
session_start();
echo $_SESSION['foo'] #echoes bar

unset($_SESSION['foo']); #destroy foo
#if you want to discard the entire session, use
session_destroy(); #going down! 

したがって、あなたの場合、おそらく次のようなものです:

#main.php
session_start();
if (isset($_POST['id'], $_POST['password'])) {
    $_SESSION['id'] = $_POST['id'];
    $_SESSION['password'] = $_POST['password'];
}
#rest of main.php

#console.php and plugins.php
session_start();
if (isset($_SESSION['id'], $_SESSION['password']))
    #do stuff

スプーンであなたにそれを与えてしまうのは気の毒ですが、あなたが説明している場合に必要なのは基本的なセッション機能だけであり、おそらく機密情報をやり取りする最も簡単な方法であり、基本的にセッションが作成されたものです.

詳細については:

于 2011-04-13T21:11:49.450 に答える
1

1)セッションを学びます。また、誰かのパスワードを決して渡さないでください。パスワードをハッシュし、データベース内のハッシュ値と照合する必要があります。一致を確認したら、ユーザーが認証されたことをセッション変数に保存できます。ユーザーが送信したパスワードを知る必要はありません。

2)htmlフォームを送信する場合action、フォームのは、投稿されたフォームパラメータを直接使用して何でもできる唯一のページであることを理解してください。

..。

これらのことを学ぶことをあきらめないようにしてください-それらはあなたの人生をより簡単にするために作成されたものであり、より挑戦的ではありません。

使用するPHP認証クラスの例

于 2011-04-13T20:57:12.277 に答える