既存のファイルに管理者による認証を付加したいと思いますが、下記のコードではうまくいきません。アドバイス下さい。
<?php
//パスワードの設定
$password = "admin";
//パスワードチェック
passchk();
function passchk(){
global $password, $post;
$p = $post['pass'];
if ($p == $password) {
echo "認証成功!";
// return;
} else {
echo<<<EOM
<p>パスワードを確認して下さい。</p><br>
<form action="login.php" method="post">
パスワード:<input type="password" name="pass" size="8">
<input type=submit value="ログイン" />
</form>
EOM;
exit;
}
}
?>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
根本的な理解が出来てないようですね。
<form>でリクエストされる値は、$_POSTを使うことで取得できます。
むやみやたらにglobal宣言を使わないこと。
というよりも、絶対に使わないこと。
どぉ~~しても使いたいのであれば、
使わなくてすむようなロジックで処理することを考える事。
「自分はバカだから、global使わないとコーディングできないよぉ」というのであれば
・セキュリティは全く考慮しない。最悪の場合ハックされても良い
・趣味レベルで作るものであり、自分以外の人が使わないシステムである
上記の条件をすべて承諾し、$GLOBALSというスーパーグローバルを使うこと。
具体的な使い方は、私自信はglobalは大嫌いなのでここでは説明しません
自分で勝手にしらべてください。
---
とりあえず、動くんじゃないかと思う(未検証)
<?php
//パスワードの設定
$password = "admin";
//パスワードチェック
passchk($password);
/**
* パスワードをチェックする
* @param $password string
* @return void
*/
function passchk($password){
$p = $_POST['pass'];
if ($p == $password) {
echo "認証成功!";
// return;
} else {
echo<<<EOM
<p>パスワードを確認して下さい。</p><br>
<form action="login.php" method="post">
パスワード:<input type="password" name="pass" size="8">
<input type=submit value="ログイン" />
</form>
EOM;
}
}
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
フォーム送信後の更新ボタンで...
-
JavaScript変数をPHPへ渡す
-
phpで、フォームのラジオボタン...
-
フォームを作る
-
以下のx.phpにアクセスし
-
フォームにダブルクォーテーシ...
-
テキストリンクをPOST送信したい
-
リンク先のフォームに自動的に...
-
なぜ、unexpected T_VARIABLEに...
-
2つのフォームから同時に送信...
-
管理パスワードによる認証
-
mailtoで、文字化けを防ぎ、メ...
-
GETとPOST以外のデータの渡し方...
-
ローカルにあるhtmlのフォーム...
-
初歩的な質問ですが、入力に対...
-
$_POST['hoge']のデータをフラ...
-
PHPのエラーの解消法について教...
-
PHPでファイルアップロード時に...
-
ソケット通信でのPOST
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
セッションを使わずに遷移先画...
-
アマゾンのような評価の星を選...
-
JavaScript変数をPHPへ渡す
-
フォーム送信後の更新ボタンで...
-
テキストリンクをPOST送信したい
-
ボタンをクリックでPHP文を実行
-
フォームで作った送信ボタンが...
-
phpで、フォームのラジオボタン...
-
PHPでファイルアップロード時に...
-
PHPでバーコード読み取りって・...
-
送信ボタンでカウントアップ
-
VBSのIEオブジェクトでフ...
-
Submit(送信ボタン)を押した...
-
PHPの質問:フォームから受け取...
-
POSTデータをフォームに残す方法
-
リンク先のフォームに自動的に...
-
PHPの送信フォームについての質...
-
phpのカウンタのリセット方法
おすすめ情報