• 締切済み

管理者ページで設定した値を、別ページに表示させたい

現在、下記のようなページが作れないかな?と考えております。 あまり知識がないため、どのようにすればよいのかわからないのですが、 アドバイス頂けませんでしょうか? (HTML等はある程度理解できているつもりです。) 私の勤めている飲食店のホームページ上に、 現在の店内の混み具合を表示できればと考えております。 管理者ページにアクセスし、 ラジオボタン等であらかじめ設定した値を、お客様がご覧になるページ(トップページもしくは、専用のページ)に 反映できればと考えています。 例えば、下記のように管理者ページで選択・記入したものを、 Submitでお客様用のページに表示できますでしょうか? 【管理者ページ】 ------------------------------------------------------- [現在の待ち時] (↓ラジオボタンで選択) ・10分 ・15分 ・20分 ・30分 ・40分 [コメント] (任意のテキストを入力) すぐに、ご案内できます。 【submit】 ------------------------------------------------------- また、お客様のご覧になるページには、「待ち時間」が更新された時間の 表示ができれば尚よいかなと思っております。 【表示ページ】 ------------------------------------------------------- 只今の待ち時間は、  10分 です。 すぐに、ご案内できます。 更新:2012/04/30 21:20 ------------------------------------------------------- 上記を実現するための 何かよいアイデアないでしょうか? JavaScriptで実現できるのか、それともformや、iframeなどを使い表示させればよいのか、 それとも、PHPやCGIなどが必要かなど、どのような手法で実現すればよいかいまいちわかりません・・・。 すみません。 どうぞよろしくお願いいたします。

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

No.1です。  この様なプログラムは、レストランや医療機関、法律相談などでいくつか作成した経験から回答しましたが、あなたが希望されるシステムは、実は大変複雑で高度なものなのですよ。  この様なシステムを設計する場合、もっとも考慮しなければ、多忙やシステムトラブルで書き換えができなかったときの対策です。そのときには、待ち時間の説明が、「あくまで日時による経験に基づくものであって目安に過ぎないこと」を伝えておくことを忘れてはいけません。  言い換えれば、登録できなくてもページには目安が表示されているか、その場合は目安時間は表示されないかのいずれかであること。・・・これはとても大事です。登録を忘れていて、短い時間が表示されたままになっていて、実際に来店したら・・・なんて事だけにはならないように。  それを防止するためには、クローンCGIでページを書き換えて待っているか、呼び出されるたびにチェックして書き換えるシステムが必須です。  依頼される場合でも、もし更新されずに放っておかれたときの表示など、本来の動作以外の対策がシステム全体の大部分を占めることを理解して置いてください。

  • de_viant
  • ベストアンサー率75% (18/24)
回答No.3

お店のホームページ上にお店の混み具合などを表示したいということですよね。 それなら、Twitterのウィジェットをホームページに貼り付ければ混み具合や待ち時間などもリアルタイムで表示できると思います。 そのためだけのTwitterのアカウントを取れば問題ないと思うのですがどうでしょうか。 利用の仕方などはTwitterのヘルプのページを見ればすぐにわかると思います。

3834eugene
質問者

補足

そうでしたね!そのような手もあるかもしれません。 お店のサイトにもウィジェットを表示してあるので、 表示させることは簡単だと思いました! ありがとうございます。

  • hymat
  • ベストアンサー率58% (95/162)
回答No.2

PHPなりPerlなりを使って、いわゆる"CGI"を作るしかないですね。でも、初級編くらいのものを読めば自分でも作れると思います。 管理者側で入力した待ち時間とコメントをファイルに書き込むスクリプトと、外部ユーザーからアクセスされた時にそれを読み出すスクリプトですね。 とりあえず、 http://www.ipentec.com/document/search.aspx?mode=tag&q=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+I%2fO&culture=ja-jp とかを見れば、コメントの書き込み、読み出しはできると思います。

3834eugene
質問者

補足

ありがとうございます。 皆さん少し勉強すれば大丈夫ということですので、 しっかり勉強したいと思います。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

もっとも、良いと思われるのは、 Yahoo!オークションの商品詳細ページのような時間表示でしょうね。 レストランの各ページに、「ただいまの待ち時間の目安」として、ページを開いたときの待ち時間見込みを表示させた上で、詳細な待ち時間と言う形で小さな窓を開いて表示させて、それについてはreloadさせる。(iframeでもよいかも)。オークションの残り時間のように決まったタイミングで刻々と減っていくわけではありませんが、混み具合やグループ客の比率、オーダーメニューなどで、逐次訂正しなければなりません。  とはいえ、規模にもよりますがある程度の予測はつくと思います。  いずれにしても、CGIの手を借りることになります。かって作成したサイトの場合は、あらかじめ年間、祝祭日、曜日、時間帯による予測テーブルを作成し、何も入力しないときは、それが表示されるようにしたうえで、逐次CGIによって書き換えました。  すなわち、待ち時間を表示したい、すべてのページを動的に提供するわけです。 .htaccessで、"index.html"、および、"guide"というファイルをCGIとして動作するように設定しておきます。  /index.htmlと、/guide/ 以下のURLが要求された場合、待ち時間データファイルの有効期間を参照し、それが切れているときは、初期値テーブルから、有効期限内の場合はデータファイルの値から待ち時間を求めページを出力するときに、その部分を書き換えます。待ち時間を記述するHTMLには、ソース内に <!-- waiting time start --> <p id="waitingTime">現在の待ち時間は<a href="./waitingTime.html" onClick="****">こちら>/a>でご確認ください</p> <!-- waiting time end --> でもしておけばよいでしょう。  この部分が出力されるときは <!-- waiting time start --> <p id="waitingTime">現在の待ち時間は、およそ10分です。詳しくは<a href="./waitingTime.html" onClick="****">こちら>/a>でご確認ください</p> <!-- waiting time end -->  と書き直されるわけです。  javascriptと併用しているのは、ユーザーがそのページを開いたまま、放置していると待ち時間が変わってもそのままになってしまうため、確認できるリンクを置くと同時に、javascriptが有効な場合は、小さなウィンドウないしiframeで表示させ、javascroptが無効な場合は待ち時間ページへリンクさせるためです。  なお、/guide以下のURLの場合は、実際のHTMLは、/guideData/ディレクトリにあるもので、PATH_INFOを元に、そのデータを読み取って出力します。ユーザーが直接/guideDataディレクトリの中身を見ることはありません。 /   ルート  |-- index.html 実際はCGI  |-- guide   実際はCGI  |-- contactUs.html  |-- info.html ・・・・  |-- guideData/ いかに通常通りHTMLを作成しておく     |-- menu1.html     |-- menu2.html     |-- menu/        |-- sub1.html  すなわち、例としてあげると /guide/manu.htmlを要求されると、そのようなページは実在はしませんから、/manu1.htmlは、PATH_INFOと言う環境変数に格納された後、guideまでさかのぼった後、guideというCGIが実行されます。  guideは、PATJ_INFOを使って、/guideData/menu1.htmlを開き、そのまま出力しますが、そのときに <!-- waiting time start --> <p id="waitingTime">現在の待ち時間は<a href="./waitingTime.html" onClick="****">こちら>/a>でご確認ください</p> <!-- waiting time end -->  があればここだけ書き直します。  フォームのほうは、ごく簡単で、適当な管理用CGIに送信し、waitingTime.txtとか、適当なファイルを書き直せば良いです。  いずれのCGIも、数十行の簡単なもので足りるでしょう。

3834eugene
質問者

補足

詳細にご説明頂き、恐縮です。 ご説明を読む限りでは、なんとでも形にできるようですね。 Yahooオークションの「詳細な時間」の動きも確認致しました。 ただ、このレベルに私の実力が達していないようで、 現時点では実現することが難しそうです! ある程度の知識をお持ちの方でしたら、CGIを作ることが可能ということなのですが、 http://www.lancers.jp/ というところで、作ってくださる方は見つかるでしょうか?

関連するQ&A