• ベストアンサー

ホームページ上にある表に書き込み反映させるには。

ホームページ上に、下の表のようなものがあったとします。 ----------------- |No| 番号 | 名前 | ----------------- |01| 数字 | 文字 | ----------------- |02| 数字 | 文字 | -----------------  ---- |送信|  ---- 01、02の”数字・文字”のところのセルには通常 何も無い空白の状態とします。 ここに任意の数字や文字をいれ 送信を押すと、掲示板のようにホームページ に反映・更新できないものでしょうか。 どなたか教えていただきたいのですが・・・・ もし、難しいのであれば、何を使えば出来るのかもあわせて教えてください。

  • CGI
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • ryota2
  • ベストアンサー率43% (61/140)
回答No.1

質問の意味が良く分からないのですが、下のようなものは如何でしょう。 多分あっていると思いますが、ローカルテストしてみてくださいね。 --HTMLファイル------------------ <html> <head> <title>~たいとる~</title> </head> <body> <form action="test.cgi" method="GET"> <table> <tr><th>No</th><th>番号</th><th>Name</th></tr> <tr><th>01</th><tr><input name="No1"></tr><tr><input name="Na1"></tr></tr> <tr><th>02</th><tr><input name="No2"></tr><tr><input name="Na2"></tr></tr> </table> <input type=submit value="送信"> </form> </body> </html> --test.cgi----------------- #!/usr/local/bin/perl require 'jcode.pl'; @pairs = split(/&/, $ENV{'QUERY_STRING'}); foreach $pair (@pairs){ ($name, $value) = split(/=/, $pair); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; &jcode'convert(*name,'sjis'); &jcode'convert(*value,'sjis'); $FORM{$name} = $value; } open(OUT,">data.txt"); print OUT "$FORM{'No1'},$FORM{'Na1'}\n$FORM{'No2'},$FORM{'Na2'}\n"; close(OUT); print "Content-type: text/html\n\n"; print <<"EOM"; <html> <head> <title>~たいとる~</title> </head> <body> <table> <tr><th>No</th><th>番号</th><th>Name</th></tr> <tr><th>01</th><tr>$FORM{'No1'}</tr><tr>$FORM{'Na1'}</tr></tr> <tr><th>02</th><tr>$FORM{'No2'}</tr><tr>$FORM{'Na2'}</tr></tr> </table> </body> </html> EOM

tontogoo
質問者

お礼

まさにこんな感じです。 CGI・ほとんど素人ですが、これを機会に色々勉強して参ります。 ほんとにありがとう御座いました。

その他の回答 (1)

回答No.2

 こんにちは。  おっしゃっている内容については、作成できるのは確かです。  一番手っ取り早いのは、HTMLフォームから受け取った内容をファイルに書くCGIを作成する方法だと思います。Webの仕組みやHTML・CGIについてはどれくらいの知識をお持ちでしょうか。Webの仕組みをある程度理解することは、作りたいものをどうやって実現するか考える手助けになります。そして、HTMLに関する知識はどの手法をとるにしても必須だと思います。 で、CGIに関しては、あなたの知識と根気次第で3段階の方法があります。 ■似たようなCGIを我慢して代用する。 ■似たようなCGIを改造して使う。 ■自分で1からCGIを作る。 下に行くほど、踏み込んだ内容です。  CGIはわかりやすく言ってしまえばサーバ側に置かれたプログラムで、クライアントからの命令を受けて実行され、何らかの処理を行います。その処理が掲示板の場合は「フォームに書かれた題名・投稿者・本文といった内容をデータファイルに書き出す」と言うような処理になっているわけです。  CGIを作るのにはプログラミングの知識が必要です。言語はC言語でもなんでもいいのですが、CGIを作るのに一番多く使われているのは、Perl(パール)という言語です。CGI作りの解説本もほとんどはPerlで作ることを前提としているので、勉強のしやすさはPerlが一番だと思います。  実現したい機能と似たようなCGIを探し出すか、Perlを勉強して自分で作るか、それはあなたの選択次第です。良いサイトができるといいですね。頑張って下さい。

tontogoo
質問者

お礼

ご丁寧にありがとう御座いました。 ”似たようなCGIを改造して使う”方法である程度理解し”いずれは自分で1からCGIを作る”方法をなどと漠然と考えておりました。 HTML・CGIはほとんど素人ですがとてもご丁寧な解説で私にも良く分りました。 これをきっかけに、いろいろ勉強させていただこうと思います。

関連するQ&A

  • ホームページ上にある表を更新

    ホームページ上に、下の表のようなものがあったとします。 ----------------- |No| 番号 | 名前 | ----------------- |01| 数字 | 文字 | ----------------- |02| 数字 | 文字 | -----------------  ---- |送信|  ---- 01、02の”数字・文字”のところのセルには通常 何も無い空白の状態とします。 ここに任意の数字や文字をいれ 送信を押すと、掲示板のようにホームページ に反映・更新できないものでしょうか。 教えていただきたいのですが・・・・

  • ホームページビルダーの表について

    ホームページビルダーに「エクセル」の表みたいなのがありますよね。 表をつくって、中に字を書いたりできると思うんですが、 表の大きさをドラックして大きくしたり、数字を入力して 大きくしたりしたあと、文字の中央寄せを使っても、ビルダー内では 中央に寄っていても、ブラウザで見るとずれていたりするんですが これはどうしてでしょうか。中央寄せした状態で表示したいです。 どこでも配置モードでやってます。 あと、数字でセルの大きさを変えたりするときも、数字を入れても 変わらないときがあります。これもさっきのと同じで、たとえ ホームページビルダー内で変わっても、ブラウザでは変わってない ことがあります。どうしてでしょう。どうやったら直せ ますでしょうか。教えてください。よろしくお願いします。

  • 関数を使って参照した際、空白を反映しない

    Excel2010で関数で文字の結合と改行を10セル分ぐらいしたときに、セルが空白の場合、空白を反映しないようにすることはできないのでしょうか? たとえば、     A    B    1 あ   か   2 い   き   3 う    く   として、C1に   あ   い   う   か   き   く と表示するための関数が入っているとして、もし、”き”や”く”が空白だった場合、その空白を反映しないようにしたいと思っています。 C1に表示されたものを、さらに別のシートで表示すようになっているのですが、その別のシートで表示された際、最後のセルが空白だと、表示セルの上のほうに文字が行ってしまい、上下中央に表示されなくなってしまうので、空白を反映しない、無視するような関数があればと思い質問させていただきました。 Excel自体そんなに詳しくないのですが、文字の結合はセルを”&”でつなげ、改行には”CHAR(10)”を入れてやっていました。これだと別のシートでは下のほうに空白ができてしまい、結合した文字が上に行ってしまいます。 自分でもいろいろ調べて、試してみましたができませんでした。 空白のセルを削除したりして詰めるのではなく、表示されないようにできないものかと考えています。 参照しているA1からB3までのセルには、文字を入力したり消したりと更新することがあるので常にすべてのセルを参照しておき、表示されるときに空白を除く形にしたいと思っています。 別シートのほうでは”VLOOKUP”を使って表示されるようにしています。 わかりにくい説明かもしれませんが、どうか回答をよろしくお願いします。

  • ホームページ上の文字を表にするのは可能不可能

    下の画像のようにホームページ上の、枠線はないですが、整然と並んでいる文字データは、もしかして、表として成立していないのでしょうか。 これをソフトか何かを使ってもいいので、エクセルに貼り付けたいです。 これをそのままエクセルに貼り付けると、表として認識しないで、1つのセル内に入ってしまいます。 どうしたらいいでしょう。 泣き寝入りですか。

  • ホームページにExcelの表を貼り付けるには?

    ホームページビルダー8でHPを作成していますが、Excelで作成した表の罫線の色が変わって貼り付けられてしまいます。Excelの方では白の罫線なのですが、貼り付けると黒に変わります。また数字や文字を入れていないセルは罫線ごと消えてしまいます。どうしたらいいのでしょうか?回答お待ちしております。

  • エクセルVLOOKUP表の参照について

    下記のような表を検索範囲にして項目を他のシートよりコピーして検索値のセルに貼り付けて、右の番号を 表示させるようにしたいのですが? 通常は番号を入れて項目を表示させるのが普通なんでしょうが今回はこの数字を表示させて別の表で昇順で 並べ替えたいためです。  項目     番号 A11政治    1          2 A3社会     3 A20経済    4 B13学校    5 W20ランサ  6 B20学芸会   7 C7事業     8           9 S20外国    10 S21図書     11 J5人事     12           13            14             15            16 上記のようなような参照表から、同じシート上に任意のセルにVLOOKUP(検索値のセル(この場合は下記の科目),項目のセル:参照表の最終セル(この場合は16のセル),2)という関数を入れて参照したところ、下記のように表示されてしまいました。何回か繰り返してみたのですが表示は同じでした。 任意のセル   科目 2     A11政治 2 4     A3社会 4     A20経済 5        B13学校 16     W20ランサ 5     B20学芸会 8     C7事業 2 16     S20外国 16     S21図書 12     J5人事 2 2 2 2 A20経済の4以外めちゃめちゃな数字が任意のセルに表示されてしまいました。任意のセルにも上記の参照表と同じ数字を表示させたいのですが、数式が間違っているのでしょうか?何分にも未熟者のため苦労しています。空白の欄にも非表示ですが項目が入っています。表がゆがんで見苦しく申し訳ありません。

  • エクセルでの表作成

    エクセルで表を作成するとします。ある製品の番号、数量を入力します。その製品番号、数量を、他の表(シート)に反映させます。 ある製品の数量が0になったら、反映させた表から、その製品の番号が入力されているセルを削除、又は、数値が消えて、下のセルに入力された数値が上のセルに繰り上がって、表示される。 こんな事、出来ますか?

  • ホームページの表について

    こんにちは。 今、ホームページを作ってるんですが、表の中の文字が思ったところに表示されないんですが・・・。 <td>のタグでalignを使って、セルのセンターに持っていきたいんですが、 ちゃんと真ん中に来ないんです。どうしても、左よりになってしまうんです。どうしてかわかりませんか? それと、表全体に対して何かしたいときは、<tbody>の中に書けばいいんですよね?(違います?) で、列全体とか、行全体に対してスタイルを変えたいとか、位置を変えたいとかって可能ですか? もう一つ、ホームページ上にエクセルの表をそのままコピーすることは可能ですか? 以上3点、意味がよくわからなければ補足させていただきますので、よろしくお願いします。

    • ベストアンサー
    • HTML
  • 表のデータについて

    ホームページビルダー10を使用してます。 会社のHPで表を毎月更新しているのですが、セル数も数字の桁数も多いんです。 現在は、毎月更新しているエクセルの表のセルを1個1個手打ちで写していますが、 効率が悪いし、誤入力のおそれもあるので、なんとかしたいので、 エクセルのように表の数値をまるごとコピー・貼り付けをしたいのですが、うまくできません。 いい方法がありましたら、アドバイスよろしくお願いします。

  • Word2007で表の中に表を作成した時の不具合

    Word2007において、 (1) 「挿入」→「表」で、3列3行の表を作成します。 (2) 作成した表の3列3行目のセルの中に3行空白行を作成します。 (3) 2行目に、「挿入」→「表」で、2列2行の表を作成します。 (4) (3)で作成した表の下の空白行を削除します。 (5) 2列2行の表の上下に空白行が1行ずつあることを確認して、3列3行の表の外の行をクリックします。 (6) 2列2行の表の下の空白行が1行消え、2列2行の表の下線と3列3行目のセルの下線が重なってしまいます。 3列3行の表の中の、2列2行の表の上下に空白行が1行ずつあるようにしたいのですが、上記のようになってしまいます。 3列3行目のセルの行の高さをドラッグ等により変更する。または、2列2行の表の下の空白行に空白1文字分を入力する。のどちらかを行えば、何とか2列2行の表の上下に空白行が1行ずつあるようにできます。 上記のような行の高さ変更や、空白文字を入れることなく、上記手順(1)~(4)で表の中に表を作成した場合に、セルの下端に空白行ができない理由をご存知の方は教えてください。