フォームの内容をエンコードしてURLへ

[新着] Webテンプレートを仮オープンしました



0   名前: CAR : 2007/01/17(水) 23:09  ID:JByrqgVK
フォームに打ち込まれた内容を、エンコードしてURLに渡したいのです。
そしてそのURLを読み込むことによって、他人のフォームの内容を自ブラウザで再現できるようにしたいのですが
実行可能でしょうか?

その際に必要となるフローチャート等あればご教示ください。お願いいたします。

1   名前: 匿名 : 2007/01/17(水) 23:09  ID:Rt.j/.AI
> フォームに打ち込まれた内容を、エンコードしてURLに渡したい

何も余計なことさえしなければ、デフォルトでそうなるはず。

> そのURLを読み込むことによって、他人のフォームの内容を自ブラウザで再現できるようにしたい

これだけ読むと、セッションハイジャックのような悪用の臭いがする。実際には何をやりたいのか、きちんと説明した方が良い。


雑談だが、今どきフローチャートは(少なくともプログラミング分野では)使われてないと思ってみたり。

2   名前: CAR : 2007/01/17(水) 23:09  ID:JByrqgVK
拙い文章で申し訳ないです。

>>そのURLを読み込むことによって、他人のフォームの内容を自ブラウザで再現できるようにしたい

やりたいことなのですが、ぬり絵を作ると思ってください。
元になる画像の上に、色を指定してぬっていくわけですが、その「指定する色(3元16進数)」というのをフォームにいれてもらいます。
そうして作られたユーザーの完成図を他人に見てもらうために、フォームの色を保存しコード化、更にURL化することによって
他人の環境でその図を再現できるようにしたいのです。

静的に保存・公開では円滑なやりとりができないため、ユーザー側でそうしたアクティブなやりとりができればと思ったわけです。


3   名前: 匿名 : 2007/01/17(水) 23:09  ID:Rt.j/.AI
>>2
面白いですね。変に勘繰ったことを謝罪します。

>>1 にも書いた通り、form 要素の method 属性のデフォルト値は GET、enctype 属性のデフォルト値は application/x-www-form-urlencoded。

つまり、何も指定しなければ、ブラウザが勝手にフォーム内データをパーセント符号化し、URI クエリ(? 以降)として直列化する[*]。暗号化など特殊なことをしないのであれば、この段階でスクリプトは必要はない。

[*] ?name1=value1&name2=value2&name3=value3 のように。

その URI をどこに保存するかは今は置くとして、URI からクエリ部を切り出して復号化するにはスクリプトが必要。JavaScript なら、location.search でクエリを切り出し、split(/&;/) で個々の値に分割し、decodeURI() で元に戻す。


関連して:
http://willustrator.org/
http://nanto.asablo.jp/blog/2005/09/27/89628

4   名前: miz : 2007/01/17(水) 23:09  ID:BfTGVEzS
>他人の環境でその図を再現できるようにしたい

JavaScript では無理です。
クライアントサイドというのは、基本的に、一パソコン上の一ブラウザ内でのみの動作を指します。(マルチウィンドウではなく、ieとfirefoxを同時起動してもデータの共有は出来ないという意味)
lanでつながっているからと云って、隣のパソコンにデータ送信するのは、JavaScript ではできません。

よって、掲示板のようなサーバーサイドの仕組みを使って、サーバーサイドにデータを保持して、他から見に来た人にも見れるようにするということになります。

>静的に保存・公開では円滑なやりとりができない
サーバーサイドの仕組みには、リアルタイムチャットのようなのもありますけど?

一覧へ戻る