• ベストアンサー

CGIの書き込み確認表示について

ここの教えてgoo!もそうなのですが、書き込むときに一度書き込み確認画面がひょうじされますよね? あれの仕組みという物はどうなっているのでしょうか? 一度書き込んだ時刻のtxtデータ(021115235023.txtのように)をつくってそこに書き込まれた内容を保持していて、本書き込みの時に自分自身を削除するというようなものでいいのでしょうか? しかし、その際自分自身を削除するというものはどのようにすればいいのでしょうか? 質問が多くてすいません。

質問者が選んだベストアンサー

  • ベストアンサー
noname#25358
noname#25358
回答No.2

 えとですね。  プログラムというのはすべて、「入力」→「編集処理」→「出力」という3つのロジックでなりたっています。  特にCGIに限っていえば、例外はありません。  このとき、訪問者が入力した文章などをCGIプログラムが編集し終わったとき、画面に出力すれば確認画面になります。  この際、「OK」を押すと自分自身をもう一度呼ぶように仕向けておき、ファイルに出力するように仕向ければ書き込まれます。  通常は確認ロジックと書き込みロジックをそれぞれ用意し、「フラグ(正確には処理フラグ)」というものを用いて、画面に出力すべきか、ファイルに書き込むべきかを決定します。

ryo-3
質問者

お礼

ありがとうございました。 いちいちファイルを作成しなくても一つのCGIプログラム内で変数のやり取りをすればよかったんですね。 挑戦してみようと思います!

その他の回答 (2)

noname#151446
noname#151446
回答No.3

>ここの教えてgoo!もそうなのですが、書き込むときに一度 >書き込み確認画面がひょうじされますよね? >あれの仕組みという物はどうなっているのでしょうか? 前画面で入力したデータを確認用画面に渡します。 確認用画面は、前画面から受け取ったデータを表示します。 ここでOKを押すことで、実際にファイルやDBにデータを保存しています。 データを渡す方法としてはPOST/GETリクエストを使う方法が主なものになります。 また、「セッション変数」と呼ばれるものやクッキーを使用する場合も多々あります。 ファイルを使ってやり取りをするのはあまりないと思います。

ryo-3
質問者

お礼

クッキーを使う方法は相手がクッキーをoffにしてたら使えなくなるのでなかなか好きになれません・・・(わがままですかね・・・しかし、せっかく作ったのをボタン一つで拒否されるのは・・) セッション変数というのもあるのですね。こんど調べてそちらのほうも挑戦したいと思います。 お答えありがとうございました。

  • nonchi
  • ベストアンサー率43% (16/37)
回答No.1

変数に入れてある文字列などを、別デザインで表示しているだけで、その時点ではファイルに書き出されてはいないと思いますよ。

ryo-3
質問者

お礼

ありがとうございます! ということは、二つのCGIが存在するのではなく、一つのCGI上で同じ変数を使って表示させているということなんですねぇ。 おはやい解答ありがとうございました! たしかにここも書き込みの時はアドレス変わらないですねぇ。

関連するQ&A