• 締切済み

php 掲示板のエラーチェックについて

phpで現在、掲示板を作成しています。 【投稿する】を押すと、エラーチェックが作動し、問題がなければ投稿が出来ます。 【本体 掲示板】→ファイル名:bbs.php 【エラーチェック】→ファイル名:function.php ここで、疑問点が生じました。 なせ:【投稿する】を押すと、エラーチェックが作動するようになっているのですが、現在エラーチェックはphp入門サイトなどを観覧し、やっているのですが中々できません。 そこで皆様へ回答をしてくれる様お願いします。【ご協力感謝します】 【投稿する】→【エラーチェック】→【投稿完了】 ※エラーチェックは、正しく入力されていたら、投稿となります。     次は、過去ログ機能などを追加しようと思います。 ♪宜しくお願いします♪

  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • seastar3
  • ベストアンサー率69% (99/142)
回答No.1

チェックする条件が不変の場合は、表示させる入力WebページにJavaScriptでチェックプログラムを用意して、エラーメッセージや入力テキストボックスのリセットなどを行います。 チェックする条件が流動的な場合や多くのデータとの商号が必要だったりする場合には、phpプログラムで受け取ってからチェックします。そのプログラムでいきなり投稿データに追加するのではなくて、エラーがなければ投稿データ書き込みプログラムにデータを渡して書き込ませ、投稿完了の表示をするようにリダイレクトします。もし、エラーがあるときには、書き込みプログラムは呼び出さずに、エラーメッセージや再入力指示のプログラムを呼び出してリダイレクトします。 これは拙者習作のPerlのCGIプログラムですが、上に書いたような動作を実装しています。 http://homepage1.nifty.com/tetsuhito/cgi-html/pw01.html ネット上の応答の仕組みや必要なコマンドを勉強してスキルアップしてみましょう。

関連するQ&A

  • 掲示板(BBS)のプログラムを探しています

    掲示板(BBS)のプログラムを探しています 以下の機能(条件)を持つ掲示板を探しています ・phpで記述してある ・フリーである ・ログイン機能がある  (.htaccessなどではなく掲示板の機能として搭載されている) ・投稿するときに画像ファイルや圧縮ファイルが付けられる  (できれば複数添付可能) ・携帯電話(3キャリア)から観覧・投稿可能 ・携帯電話から投稿するときもファイルが添付できる  (写メール掲示板のような感じ) 5~6人で使うことを想定しています xoopsやOpenPNEのようなものは管理が大変になるので使用したくないです ログの管理方法はdbでもテキストでもかまいません 以上の条件に当てはまる掲示板をご存知の方 教えてください よろしくお願いします

    • ベストアンサー
    • PHP
  • index.phpの中でPHP掲示板のサンプルを動かしたいと思っていま

    index.phpの中でPHP掲示板のサンプルを動かしたいと思っています。 サンプルurlは下記ファイルですでに動いているとします。 http://www.aaa.com/test/bbs.php・・・bbs一覧 http://www.aaa.com/test/bbs_entry.php・・・bbs投稿 http://www.aaa.com/test/bbs_confirm.php・・・bbs投稿確認画面 http://www.aaa.com/index.php にアクセスすると、上のbbsの一式がindex.phpの中で動く、ということをしたいのですが、 方法はないでしょうか? イメージでいうと、フレームで左メニューはまったく動かないが、右画面が動く、というイメージが近いです。 しかし、index.phpと同じ階層に、上の3ファイルをインクルードするファイルを3つ作成しなおす、ということはしたくありません。 index.phpの中に記述を加えるだけで、index.phpの内部で上のサンプルが動く、ということはできないでしょうか?

    • ベストアンサー
    • HTML
  • PHPでのエラーチェックについて

    PHP 初心者デス。よろしくお願いします。 勉強のため、PHPにてメールフォームを作成してます。 PHPでのエラーチェックについて教えていただきたいのですが、 よろしくお願いします。 メールフォーム自体は下記のような流れで作成しております。 ------------------------------------------- 入力フォーム(index.php) ↓(check.php エラーチェック用ファイルとおる) 確認画面表示(confirm.php) ↓(send.php 送信処理がかかれたファイルとおる) 完了画面表示(thanks.html) ------------------------------------------- エラーチェックはindex.phpで必須項目などが、未入力、空白があれば、 送信ボタンを押した際に、index.php自体の入力フォームの下などに 「未入力です」などのエラー表示をさせたいのですが、うまくいきません。 ご教授お願いいたします。 できればSESSIONなどを使用せず行いたいですが可能でしょうか? とりあえず自力でやって、うまくいかなかったのは以下内容です。 --------------------------------------------------- check.phpにエラーチェック用処理を記載しており、index.phpのフォームには <form method="post" action="check.php"> としてます。 ですが、これだともちろんエラー表示はchek.phpに表示されてしまい、 うまくindex.phpにエラー表示ができません。 またindex.phpに入力した内容をconfirm.phpにPOSTで渡せなかったりします。 index.phpにincludeなどでchek.phpを読み込ませて、 <form method="post" action="confirm.php"> としてみても、 うまくエラーチェックが動作しなかったり、 index.phpに入力した内容をconfirm.phpにPOSTで渡せなかったり、 苦労してます。 どうかご教授のほど、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP 掲示板について

    ファイル名:bbs.html 掲示板タグを一を記載します。 <html> <head> <title>ミニ掲示板</title> </head> <div class="menu"> l<a href="~~~">~~~</a> l<a href="~~~">~~~</a> </div> <body> <p>※記事削除は、製作者へメールをクリックし、用件には【掲示板 記事削除の件】内容には、【記事削除キーを入力し、送信してください。】<br> ミニ掲示板(<a href="bb.html">リロード</a>)<hr> <form method="post" action="bbs.php"> <input type="hidden" name="mode" value="write"> 名前:<input type="text" name="name" size="20"><br> メールアドレス:<input type="text" name="name" size="40"><br> 用件:<input type="text" name="name" size="20"><br> 記事削除キー:<INPUT size="20" type="password" value="" name="pass"> <p> 内容:<br> <textarea name="message" rows="5" cols="30"></textarea><br> <input type="submit" value=" 投稿する "> </form> <hr> 【投稿する】を押すとbbs.phpに繋がるのですが、【投稿する】を押したら、bbs.htmlの【最初の場面】の下に自動的に入るようにしたいのですが。! どうすればよいのでしょうか。? ♪宜しくお願いいたします。♪【(ーー;)】

    • ベストアンサー
    • PHP
  • PHP 掲示板記述

    現在、PHPで掲示板をメモ帳で作成しています。 今回は、よくよく分からないものを記載! PHPタグ================================= <?php // 保存するログファイル名 $LOGFILE = "log.txt"; … (1) // POST で mode = write の属性が送られていたら書き込み処理 if ($_POST["mode"] == "write") { … (2)   $name = $_POST["name"]; … (3)   $message = $_POST["message"];   $date = date("Y/m/d H:i:s"); … (4)   if (file_exists($LOGFILE)) { … (5)     $lines = file($LOGFILE); … (6)   }   $fp = fopen($LOGFILE,"w"); … (7)   fputs($fp,"$name,$message,$date\n"); … (8)   for ($i=0;$i<count($lines);$i++) { … (9)     fputs($fp,$lines[$i]); … (10)   }   fclose($fp); } ?> PHP 解説よくよく分からない=========== (1) では変数で説明した変数に保存するファイル名を指定しています。ファイル名は保存、読み込みのところで複数回つかうので使いまわしできるように変数に入れています。 (2) では前ページで説明した、 <input type="hidden" name="mode" value="write"> でフォームから送られる情報を $_POST["mode"] で受け取って、その値が "write" かどうかチェックしています。 「投稿する」ボタンを押してサーバに情報が送信される際に mode=write も送られていますので、それを if文で判定しています。通常のアクセスでは mode=write が送られないため、書き込み処理を行わないという感じです。 (3) では(2)同様、フォームから送られた name の情報を受け取って $name という変数に入れています。 (4) では現在の日付を取得しています。PHPには date 関数という代物があって簡単に現在の日付を取得できます。 (5) ではファイルが存在するかチェックしています。 file_exists関数でファイルが存在するか調べています。 (6) では file 関数によって配列にデータをすべて入れています。なぜここでデータを変数に入れるかというと、新しく投稿されたデータを1行目に書き込んで、残りに古い情報を書き込むためです。 なまえ,メッセージ,2005/02/06 なまえ,メッセージ,2005/02/06 なまえ,メッセージ,2005/02/06 青が新しく投稿された情報で赤が元々保存されていたふるい情報 (7) ではこれから書き込むのでfopen関数でファイルを書き込みモードで開いています。 (8) では開いたファイルにfputs関数で書き込んでいます。名前、メッセージ、日付をカンマ区切りで1行にしてファイルに書き込んでいます。 (9),(10) では古いファイルの情報(投稿前に書き込まれていた情報)を書き込んでいます。これを行わないと、新しく投稿された情報は書き込まれますが、古い情報が消えてしまうのでこの処理をしています。 PHPの解説でよくわからないので、お答えしてください。                                     ♪♪宜しくお願いします。♪♪

    • ベストアンサー
    • PHP
  • PHPで掲示板を作りたいです

    PHPで簡単な掲示板(メッセージボード)を作ってみようと思っています。 今考えているのは、 (1)HTMLのテキストエリアの文字列(投稿者名、メッセージ)をサーバーのphpファイルあてにsubmitし、 (2)(1)および投稿日時間をサーバーにあるテキストファイルに追加し、 (3)(2)をブラウザに表示する というシンプルなものです。 この発想に何か問題はありますか? あと、上記の掲示板を作るとして、ひとつ気になっていることがあります。 メッセージ10件で1ページ表示するようにしたいと思っていますが、メッセージ10件の区切りをどうしたらいいのかわかりません。 「件名」や「投稿者」という文字列を検索して、メッセージごとの区切りを見つけるという方法を思いつきましたが、これだと、もし万一メッセージの文章中に「件名」や「投稿者」という文字列があった場合、そこが メッセージの境だと認識されてしますので難しいなと思ったのです。 何かアドバイスありましたら、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpのエラーの原因について

    「つくって覚えるPHP入門」で勉強しているのですが、 本書の47ページ通りに実行したら ■お問い合わせ内容を確認してください。 お問い合わせタイトル: お問い合わせ内容詳細: Fatal error: Call to undefined function n12br() in C:\xampp\htdocs\check_inquiry.php on line 18 というエラーメッセージが出ます 何が間違ってるのかわからない状況です ご教授願います

    • ベストアンサー
    • PHP
  • PHPのEND_OF_ERRORとは?

    http://www.1kara.net/php/practice/bbs/source.php  上記のアドレスの/*----- ※11 ------*/ に、echo <<<END_OF_ERROR 、と有ります。 これはどの様な意味ですか? PHPプログラムで掲示板を作ろうとしています。 PHPは初級者ですが多少は分かります。

    • ベストアンサー
    • PHP
  • 乱数にするとエラーになります

    初心者です。CGI掲示板の投稿欄に投稿キーを設置しました。 --------------------------------------------------------- print<<"_FORM_"; <input type=text name=guard size=8$ff> <b> 555 と半角で入力</b> _FORM_ ログ書きこみ処理 if ($FORM{'guard'} ne "555"){&er_(" エラーです。 ");} --------------------------------------------------------- (以上は全て bbs.cgi ファイルに記入) この状態で正常に作動します。(555 入力で○ それ以外は×) これを乱数でやろうと思い自分で付け加えました。 $random_x = int( rand(999) ) + 1; (set.cgi というファイルに記入) 555 の部分を $random_x に変更してbbs.cgiプログラムを書き換えるのですが、 表示された乱数を入力しても「エラーです」と表示され投稿できません。 どこが間違ってますでしょうか?よろしくお願いします。

  • 掲示板に投稿したいのにエラーだ・・・

    ERROR ! Open Error : ./yybbs.log ブラウザの戻るボタンを押して下さい って掲示板にアクセスして投稿するとこのようになってしまうのですが、何か解決方法はないのでしょうか? http://www.tnpc21.org/main/kaigi/yybbs/yybbs.cgi ↑の掲示板です。

専門家に質問してみよう