忍者ブログ
バナヤンの忍者風呂
忍者ブログのカスタマイズ、各種WEBツールのテストなど試行錯誤の日々。 VMLによる地図の作成を研究していましたが、一時中断して、今はPHPを勉強しているところです。
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
お知らせ
この欄には管理人からのお知らせなどを掲載します。
[32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42]

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHP シークレットページ5(論理演算子)

前回「PHP シークレットページ4(門前払い) 」までは、1つのパスワードを用意して、そのパスワードを入力すれば、ページが開くという方式でした。今回からは、ページを開くパスワードを複数設定することにします。

複数のパスワードがあるメリットは、ユーザー別にパスワードを提供できるということです。あるユーザーにアクセスしてもらいたくなったら、そのパスワードを削除したり、無効にしても、他のユーザーに迷惑をかけることはありません。

複数のパスワードの設定方法も何通りか考えられます。今回は、そのうち、一番理解しやすいと思われる論理演算子による方法を考えたいと思います。

前回はパスワードが1つだったので、「送信されたデータがパスワードにあっていなければ、元に戻り、一致していれば内容を見せる」というロジックでした。

if($_POST["pwd"]!="secret"){
header("Location:secretpage4.html");
}


今回は、パスワードが複数なので、「送信されたデータがaでもなくbでもなくcでもないなら、元に戻り、それ以外なら内容をみせるという記述にします。

if($_POST["pwd"]!="a"&&$_POST["pwd"]!="b"&&$_POST["pwd"]!="c"){
header("Location:secretpage5.html");
}

他の部分は、前回とほとんど同じです。

[ソース]secretpage5.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Pragma" content="no-cache">
<title>シークレットページ5「aでもなくbでもなくcでもない」なら</title>
</head>
<body>
<form action='secretpage5.php' method='post'>
パスワード:<input type='text' name="pwd">
<input type='submit' value="送信">
</form>
<p>「aかbかc」を送信すれば、目的のページが見れます。</p>
<p>「aかbかc」以外を送信すると、目的のページは見れず、このパスワード送信ページに戻ってきます。</p>

<p>送信先のページでは、「aでもなくbでもなくcでもないなら」、このこのパスワード送信ページにもどってくるという記述をしています。</p>
<hr>
</body>
</html>


[ソース]secretpage5.php

<?php
header("Pragma: no-cache");
header("Cache-Control: no-store, no-cache, must-revalidate");
if($_POST["pwd"]!="a"&&$_POST["pwd"]!="b"&&$_POST["pwd"]!="c"){
header("Location:secretpage5.html");
}
?>
<html>
<head>
<title>シークレットページ5「aでもなくbでもなくcでもない」なら</title>
</head>
<body>
$_POST["pwd"]=<?= $_POST["pwd"]; ?><br>
</body>
</html>
PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード
QRコード
忍者ブログ [PR]
Copyright (C) 2006 banayan ALL RIGHTS RESERVED.