以下の1.~4.をPHPで実現したいのですが、
どのようにすれば良いかご教授願えないでしょうか?
自分で調べろ!と言われても仕方が無いのですが、
全くPHPをさわったことがない&納期が明日・明後日のレベルですので、
大変恐縮ですが、どなたかお力を貸して頂ければ幸甚です。
以上、よろしくお願い致します。
1.外部ファイル(pass.txt)に格納されている4文字(abcd)の文字列と、
WEB画面(input.php)のテキストボックスにユーザーが入力した4文字の
文字列が一致しているかチェック
⇒一致していたら2へ。一致していなかったら4へ。
2.一致したらテキストファイル(log.txt)に日付(YYYYMMDD)と
IPを含んだログを吐き出す
3.吐き出しが終わったら、WEB画面(index.html)を開く
4.一致していなかったら、「入力文字列が間違っています」とアラートを
出し、「input.php」の画面から遷移させない。
ログの吐き出しは不要。
No.1ベストアンサー
- 回答日時:
#### pass.txt ####
aaaa
bbbb
abcd
#### input.php ####
<?PHP
if ($_POST['txt']) {
$flag = 0;
$pass = file("pass.txt");
foreach ($pass as $p) {
$p = chop($p);
if ($p == $_POST['txt']) {
$flag = 1;
break;
}
}
# HIT
if ($flag) {
# HITデータセット
$data = date("Y-m-d H:i:s");
$data .= "\t";
$data .= $_SERVER['REMOTE_ADDR'];
$data .= "\n";
$fp = fopen("log.txt","a+");
fwrite($fp,$data);
fclose($fp);
header("Location: ./index.html");
}
}
?>
<html>
<head>
</head>
<body>
<?PHP
if ($_POST['txt'] and !$flag) {
print "<p>入力文字列が間違っています</p>";
}
?>
<form action="input.php" method="POST">
<input type="text" name="txt">
<input type="submit" value="PASS">
</form>
</body>
</html>
この回答への補足
ご回答ありがとうございます。
試してみたところ、
header("Location: ./index.html");
のところで以下のエラーメッセージが出ました。
Warning: Cannot modify header information - headers already sent by (output started at /home/input.php:10) in /home/input.php on line 24
申し訳ありませんが、引き続きご教授願えないでしょうか?
No.2
- 回答日時:
検索すればすぐにわかると思いますが、ヘッダー関数でLocationさせているので、なにか出力があった場合はエラーが起きます。
改変せずにチェックすればエラーは起きません。
何か修正した場合はそこを削除してください。
まずは何も手を加えずに動作チェックしていますか?
多分どこかでprintしただけだと思います。
100%聞いてもスキルはあがりません。
少しは調べる努力をしましょう。
ご回答ありがとうございます。
もちろん、動作チェック&自身でも調べ、
色々調べてみたのですが、ダメでした。
これをメインで出来れば何の問題もないのですが、
開発とは全く関係のない別のメイン業務を毎日16~7時間ぐらい
こなした後に、調べるのは結構 骨だったので甘えてしまったところは
あるかもしれません。
私事ですみません。
とりあえず、これとは別に色々と要件が出てきた&
外注の許可がやっとでましたので、外注することにしました。
どうも、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- PHP 文字列を段落で分ける方法を教えて下さい。 2 2023/03/09 10:03
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセル関数について教えてください 4 2023/02/05 14:47
- 計算機科学 Excel ある行と列が交わったところにマークを付けるには 7 2023/01/24 08:46
- WordPress(ワードプレス) Wordpressの記事URLを自由に決めたい 3 2022/06/02 12:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
phpで、フォームのラジオボタン...
-
PHPの質問:フォームから受け取...
-
PHPでファイルアップロード時に...
-
PHPのエラーの解消法について教...
-
送信ボタンでカウントアップ
-
Submit(送信ボタン)を押した...
-
VBSのIEオブジェクトでフ...
-
ボタンをクリックでPHP文を実行
-
アマゾンのような評価の星を選...
-
GETとPOST以外のデータの渡し方...
-
テキストリンクをPOST送信したい
-
laravelを利用してコントロール...
-
ポインタ配列をfscanfで読み込...
-
phpでのセレクトボックスの値を...
-
検索時の選択内容を保持する方法
-
PHP ボタンが押されたら処理を...
-
phpで分からないエラーが出てし...
-
「"」(ダブルクォーテーション)...
-
<input type="hidden" >で配列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
PHPのエラーの解消法について教...
-
フォームで作った送信ボタンが...
-
テキストリンクをPOST送信したい
-
フォーム送信後の更新ボタンで...
-
ボタンをクリックでPHP文を実行
-
セッションを使わずに遷移先画...
-
PHPでファイルアップロード時に...
-
アマゾンのような評価の星を選...
-
phpで、フォームのラジオボタン...
-
PHP 入力フォームにて半角スペ...
-
PHPでバーコード読み取りって・...
-
PHPの質問:フォームから受け取...
-
$_POST['hoge']のデータをフラ...
-
フォームのPOST情報が渡らない?
-
GETとPOST以外のデータの渡し方...
-
phpのカウンタのリセット方法
-
header location が飛びません。
-
PHPでPCのローカル時刻は取得出...
-
変数が表示されない。
おすすめ情報