
認証の必要なコンテンツを表示するプログラムを作ってください。
ただし、http認証は用いず、フォームによる認証を用いるものとします。ユーザを少なくとも2人認証できることを条件とします。パスワードを入れ直すことなく、2種類の画面を遷移出来るものとする。
なんとなく作ってみましたが、この後どうすればいいのかよくわかりません。
<?php
$passlist=array( 'hogehoge' => 'hogepass', 'hoge2' => 'hoge2pass');
if (!isset($_POST['user']))
{
echo_auth_page("ログイン");
exit;
}
$user=$_POST['user'];
$pass=$_POST['pass'];
if ( (!isset($passlist[$user])) || $passlist[$user] != $pass)
{
echo_auth_page("パスワードが違います");
exit;
}
echo_hello_page($user);
////////////////////////////////////////////////////////////////////////
function echo_auth_page($msg)
{
echo <<<EOT
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>ページタイトル</title>
</head>
<body>
$msg
<form method="POST" action="sample.php">
username <input type="text" name="user" value=""><br>
password <input type="password" name="pass" value=""><br>
<button type="submit" name="login" value="login">Login</button>
</form>
</body>
</html>
EOT;
}
////////////////////////////////////////////////////////////////////////
function echo_hello_page($who)
{
echo <<<EOT
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>ページタイトル</title>
</head>
<body>
こんにちは $who さん
</body>
</html>
EOT;
}
?>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> パスワードを入れ直すことなく、2種類の画面を遷移出来る
"認証できた" という状態を保存するために、
セッション や SSO などの仕組みを導入しましょう。
参考) PHP のセッション機能
https://www.php.net/manual/ja/session.examples.b …
セッションで認証済と確認できたら、パスワードは必要ありません。
確認できないならパスワード認証を行って、認証済であるとセッションに状態を保存しましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付と年月日を選択するコード...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
.htaccessにphp_valueが使用できな
-
mysql→EUC-JP、php→UTF-8の時の...
-
2つの画像ファイルが異なるファ...
-
require_once()でファイルが読...
-
phpの中でphpを書けないか
-
FTPコマンドでディレクトリごと...
-
MkDir関数
-
【file_exists】ファイルが存在...
-
sqlで日付が一番古いデータの月...
-
フォームで戻った際に入力済み...
-
<A href ~ と一緒に値を渡すには
-
テレメールとは?
-
「クラス関数」「メンバ関数」...
-
Makefile.inとMakefile.am
-
現在位置より2つ上のディレク...
-
さくらインターネットでメール...
-
PHPでメールを受信するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのエラーについて(デバッグ)
-
日付と年月日を選択するコード...
-
php エラー
-
headerで飛ばすときにURLエ...
-
phpの画面表示が真っ白です
-
複数の文字列をファイルに書き...
-
formを利用した「GET」methodで...
-
phpで全角英数字を半角英数字に...
-
他サイトに表示させた場合 日...
-
初心者で数当てゲームを作って...
-
文字列の一部を取り出したいの...
-
外部ファイルを読み込んだhtml...
-
画像表示の拡大表示について。
-
syntax error, unexpected T_ST...
-
PHPのクッキー情報を活用したい
-
機種依存文字の文字化けについて
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
おすすめ情報