• ベストアンサー
  • すぐに回答を!

CGI作成中なんですが・・・

メールフォームです。 入力画面にて日付をそれぞれ年月日(コンボボックス)で選び、確認画面で2003年2月21日とならべるにはどうすればよろしいでしょうか??? 通常で見ると、        年 2003        月 2        日 21 上記のようにばらばらに表示されてしまうのですが・・・。 何か方法がありましたら是非教えてください。宜しくお願いします。

共感・応援の気持ちを伝えよう!

  • CGI
  • 回答数6
  • 閲覧数245
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.6
  • KODAMAR
  • ベストアンサー率26% (267/1006)

<TR> <TD>%s</TD> <TD>%s</TD> </TR> <!-- LoopFormat End --> </TBODY> </TABLE> <FORM action="/cgi-tool/formmail.cgi" method="POST"><INPUT type="submit" value="送信"> <INPUT type="hidden" name="FORMMAIL_MODE" value="CONFORM_OK"> <!-- LoopFormat Start --><INPUT type="hidden" name="%s" value="%s"> <!-- LoopFormat End --></FORM> この部分で入力した内容を吐き出しているんだと思うのですが…。 このソースって入力したあと出てきた確認画面で[表示]-[ソース]で出したものですよね? 見た目はHTMLですが(っていうかHTMLなんですが)、実際操作をしているのは裏にいるCGIファイルです。 1.入力フォーム     ↓ ←CGIファイル 2.確認画面(CGIファイル) のようになっていて、1で入力されたデータをCGIファイルが受け取って、それをHTMLファイル形式で表示させるように制御してるんです。 だから多分CGIファイルの問題だと思います。 実際にためしてみたわけじゃないので断言できませんけど。。。 もしかしたらOCNでこのファイルを使っている方がいて、方法があったりしたらいいんですけどね。 最初の入力フォームメール画面のフォームの最初の部分が    <FORM ACTION="/cgi-tool/formmail.cgi" METHOD="POST"> となっていますよね。 FORMのデータをPOST形式で(cgi-toolフォルダの中にある)formmail.cgiに送信して制御しなさい、ということです。 ですのでやはりCGIの問題ですね。 自作CGIはダメですが、CGIの修正もダメなんですよね?(自作がダメだからダメだろうなぁ…)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

長々と何度もアドバイス本当にありがとうございました(^◇^) 自作CGIが使用できないので、やはり仕方ないですよね。。。 今回はこのまま使用します! 勉強になりました。 本当にありがとうございましたm(_ _)m

その他の回答 (5)

  • 回答No.5
  • KODAMAR
  • ベストアンサー率26% (267/1006)

1.フォームで入力    ↓ 2.入力データを表示(確認画面)    ↓ 3.データを送信 となっているのでしょうか? となると直したいのは2ですよね。 1はHTMLファイルかもしれませんが、2と3は多分CGIファイルだと思います。 OCNは自作CGIがダメなのでもしかすると直せないのかもしれません。 2がHTMLファイルですと直せるのですが。 どうなっていますでしょうか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>入力内容の確認</TITLE> </HEAD> <BODY><FONT color="#FF0000"><B>入力内容の確認</B></FONT> <BR> <FONT size="-1">入力内容をご確認の上、よろしければ「送信」ボタンを押してください。 <BR> 入力をやり直す場合は、ブラウザの[戻る]ボタンを押して入力画面に戻り、再度入力してください。 </FONT> <HR> <BR> <!--ここから以下「ここまで」の部分の記述は必須です。この通り記述して下さい。--> <TABLE width="80%"> <TBODY> <TR> <TD width="20%"><B>項目名</B></TD> <TD><B>入力内容</B></TD> </TR> <!-- LoopFormat Start --> <TR> <TD>%s</TD> <TD>%s</TD> </TR> <!-- LoopFormat End --> </TBODY> </TABLE> <FORM action="/cgi-tool/formmail.cgi" method="POST"><INPUT type="submit" value="送信"> <INPUT type="hidden" name="FORMMAIL_MODE" value="CONFORM_OK"><!-- LoopFormat Start --><INPUT type="hidden" name="%s" value="%s"><!-- LoopFormat End --></FORM> <!--------------------------------「ここまで」--------------------------------></BODY> </HTML> このようになっています・・・。 やはり、プロバイダ関係上無理ですか???

  • 回答No.4
  • KODAMAR
  • ベストアンサー率26% (267/1006)

すいません、行をわけるように考えてしまっていました(^^; <TR> <TD class="sub" width="210"><B>ご到着日*</B></TD> <TD class="sub" width="334"> <SELECT name="a_year"> <OPTION value="2003" selected>2003</OPTION> <OPTION value="2004">2004</OPTION> <OPTION value="2005">2005</OPTION> <OPTION value="2006">2006</OPTION> <OPTION value="2007">2007</OPTION> <OPTION value="2008">2008</OPTION> <OPTION value="2009">2009</OPTION> <OPTION value="2010">2010</OPTION> </SELECT> 年 <SELECT name="b_month"> <OPTION value="1">1</OPTION> <OPTION value="2" selected>2</OPTION> <OPTION value="3">3</OPTION> <OPTION value="4">4</OPTION> <OPTION value="5">5</OPTION> <OPTION value="6">6</OPTION> <OPTION value="7">7</OPTION> <OPTION value="8">8</OPTION> <OPTION value="9">9</OPTION> <OPTION value="10">10</OPTION> <OPTION value="11">11</OPTION> <OPTION value="12">12</OPTION> </SELECT> 月 <SELECT name="c_day"> <OPTION value="1" selected>1</OPTION> <OPTION value="2">2</OPTION> <OPTION value="3">3</OPTION> <OPTION value="4">4</OPTION> <OPTION value="5">5</OPTION> <OPTION value="6">6</OPTION> <OPTION value="7">7</OPTION> <OPTION value="8">8</OPTION> <OPTION value="9">9</OPTION> <OPTION value="10">10</OPTION> <OPTION value="11">11</OPTION> <OPTION value="12">12</OPTION> <OPTION value="13">13</OPTION> <OPTION value="14">14</OPTION> <OPTION value="15">15</OPTION> <OPTION value="16">16</OPTION> <OPTION value="17">17</OPTION> <OPTION value="18">18</OPTION> <OPTION value="19">19</OPTION> <OPTION value="20">20</OPTION> <OPTION value="21">21</OPTION> <OPTION value="22">22</OPTION> <OPTION value="23">23</OPTION> <OPTION value="24">24</OPTION> <OPTION value="25">25</OPTION> <OPTION value="26">26</OPTION> <OPTION value="27">27</OPTION> <OPTION value="28">28</OPTION> <OPTION value="29">29</OPTION> <OPTION value="30">30</OPTION> <OPTION value="31">31</OPTION> </SELECT> 日</TD> </TR> 私のところでは#2の回答にかかれたソースできちんと  ┏━━━┳━┓  ┏━━━┳━┓  ┏━━━┳━┓  ┃     ┃▼┃年 ┃   ┃▼┃月 ┃   ┃▼┃ 日  ┗━━━┻━┛  ┗━━━┻━┛  ┗━━━┻━┛ と出てきましたが…。 3段目 <TD class="sub" width="334"> のWIDTHを大きくしてみてもダメでしょうか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

申し訳ないですm(_ _)m はい、これはちゃんとでました。ありがとうございます(^◇^) しかし、私がお聞きしたいことは確認画面での出方なのです。。。 確認画面では、 到着年 2003 到着月 2 到着日 27 と出てしまうのです。 ちなみに、確認画面とは、送信する前に出る画面の時です・・・。 いい方がわかりにくくて、すいません。。。 プロバイダからいただいたフォームメールですので、こんなことは無理でしょうか? 到着年月日 2003 2 27   ↑       ↑ こっちの表現は   こっちの日付だけでも横につながれば・・・ どうでもいいのですが。 やりたいことが通じるといいのですが・・・。 無知なわたしに教えてください。 宜しくお願いします。

  • 回答No.3
  • KODAMAR
  • ベストアンサー率26% (267/1006)

<TR> <TD class="sub" width="210"><B>ご到着日*</B></TD> <TD class="sub" width="334"> <SELECT name="a_year"> <OPTION value="2003" selected>2003</OPTION> <OPTION value="2004">2004</OPTION> <OPTION value="2005">2005</OPTION> <OPTION value="2006">2006</OPTION> <OPTION value="2007">2007</OPTION> <OPTION value="2008">2008</OPTION> <OPTION value="2009">2009</OPTION> <OPTION value="2010">2010</OPTION> </SELECT> <TD>年</TD></TR> <TR> <TD> <SELECT name="b_month"> <OPTION value="1">1</OPTION> <OPTION value="2" selected>2</OPTION> <OPTION value="3">3</OPTION> <OPTION value="4">4</OPTION> <OPTION value="5">5</OPTION> <OPTION value="6">6</OPTION> <OPTION value="7">7</OPTION> <OPTION value="8">8</OPTION> <OPTION value="9">9</OPTION> <OPTION value="10">10</OPTION> <OPTION value="11">11</OPTION> <OPTION value="12">12</OPTION> </SELECT> </TD> <TD>月</TD></TR> <TR><TD> <SELECT name="c_day"> <OPTION value="1" selected>1</OPTION> <OPTION value="2">2</OPTION> <OPTION value="3">3</OPTION> <OPTION value="4">4</OPTION> <OPTION value="5">5</OPTION> <OPTION value="6">6</OPTION> <OPTION value="7">7</OPTION> <OPTION value="8">8</OPTION> <OPTION value="9">9</OPTION> <OPTION value="10">10</OPTION> <OPTION value="11">11</OPTION> <OPTION value="12">12</OPTION> <OPTION value="13">13</OPTION> <OPTION value="14">14</OPTION> <OPTION value="15">15</OPTION> <OPTION value="16">16</OPTION> <OPTION value="17">17</OPTION> <OPTION value="18">18</OPTION> <OPTION value="19">19</OPTION> <OPTION value="20">20</OPTION> <OPTION value="21">21</OPTION> <OPTION value="22">22</OPTION> <OPTION value="23">23</OPTION> <OPTION value="24">24</OPTION> <OPTION value="25">25</OPTION> <OPTION value="26">26</OPTION> <OPTION value="27">27</OPTION> <OPTION value="28">28</OPTION> <OPTION value="29">29</OPTION> <OPTION value="30">30</OPTION> <OPTION value="31">31</OPTION> </SELECT>日</TD> </TR> としてみたらどうでしょうか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

何度もすいませんです・・・。 上記のソースを貼り付けてみたのですが、今度は、 2003                 年 2   月 1日 って出たのですが・・・。 確認画面にて年月日をつなげられたらと思っております。 もう、わたしの頭では考えられません(>_<)努力はしたのですが、さっぱり。。。 よろしくお願いします。

  • 回答No.2
  • mirurin
  • ベストアンサー率43% (48/111)

年 2003 月 2 日 21 と表示している部分のソースを教えてもらえますか?

共感・感謝の気持ちを伝えよう!

質問者からの補足

早速のお返事ありがとうございます(^◇^) しかしながら、私がいじっているCGIはプロバイダの関係上プロバイダより配布されているものをうまく使えるように改造している最中なのです。。。 この日付の部分というのは、 <TR> <TD class="sub" width="210"><B>ご到着日*</B></TD> <TD class="sub" width="334"> <SELECT name="a_year"> <OPTION value="2003" selected>2003</OPTION> <OPTION value="2004">2004</OPTION> <OPTION value="2005">2005</OPTION> <OPTION value="2006">2006</OPTION> <OPTION value="2007">2007</OPTION> <OPTION value="2008">2008</OPTION> <OPTION value="2009">2009</OPTION> <OPTION value="2010">2010</OPTION> </SELECT> 年 <SELECT name="b_month"> <OPTION value="1">1</OPTION> <OPTION value="2" selected>2</OPTION> <OPTION value="3">3</OPTION> <OPTION value="4">4</OPTION> <OPTION value="5">5</OPTION> <OPTION value="6">6</OPTION> <OPTION value="7">7</OPTION> <OPTION value="8">8</OPTION> <OPTION value="9">9</OPTION> <OPTION value="10">10</OPTION> <OPTION value="11">11</OPTION> <OPTION value="12">12</OPTION> </SELECT> 月 <SELECT name="c_day"> <OPTION value="1" selected>1</OPTION> <OPTION value="2">2</OPTION> <OPTION value="3">3</OPTION> <OPTION value="4">4</OPTION> <OPTION value="5">5</OPTION> <OPTION value="6">6</OPTION> <OPTION value="7">7</OPTION> <OPTION value="8">8</OPTION> <OPTION value="9">9</OPTION> <OPTION value="10">10</OPTION> <OPTION value="11">11</OPTION> <OPTION value="12">12</OPTION> <OPTION value="13">13</OPTION> <OPTION value="14">14</OPTION> <OPTION value="15">15</OPTION> <OPTION value="16">16</OPTION> <OPTION value="17">17</OPTION> <OPTION value="18">18</OPTION> <OPTION value="19">19</OPTION> <OPTION value="20">20</OPTION> <OPTION value="21">21</OPTION> <OPTION value="22">22</OPTION> <OPTION value="23">23</OPTION> <OPTION value="24">24</OPTION> <OPTION value="25">25</OPTION> <OPTION value="26">26</OPTION> <OPTION value="27">27</OPTION> <OPTION value="28">28</OPTION> <OPTION value="29">29</OPTION> <OPTION value="30">30</OPTION> <OPTION value="31">31</OPTION> </SELECT> 日</TD> </TR> っとなっております。 確認画面もプロバイダの配布されたものなので、ほとんどいじれないのです・・・。ちなみに、OCNです。

  • 回答No.1
  • KODAMAR
  • ベストアンサー率26% (267/1006)

どのように入力データを受け取っていますか? 私はこんな感じでやっていますよ。 年のデータ→$year 月のデータ→$month 日のデータ→$day とします。 <TABLE> <TR><TD>$year</TD><TD>年</TD></TR> <TR><TD>$month</TD><TD>年</TD></TR> <TR><TD>$day</TD><TD>年</TD></TR> </TABLE> というように表示しています。 はずしていたらすいません。

共感・感謝の気持ちを伝えよう!

質問者からの補足

早速のお返事ありがとうございます。 上の方にも書きましたが、プロバイダ(OCN)契約の関係上、自作CGIの使用ができないのです。 配布されたものを改造中なのです。。。 受けとり部分のソースは <UL> <TABLE WIDTH="80%"> <TR><TD WIDTH="20%"><B>項目名</B></TD><TD><B>入力内容</B></TD></TR> <!-- LoopFormat Start --> <TR><TD>%s</TD><TD>%s</TD></TR> <!-- LoopFormat End --> </TABLE> </UL> <FORM ACTION="/cgi-tool/formmail.cgi" METHOD="POST"> <INPUT TYPE="submit" VALUE="送信"> <INPUT TYPE="hidden" NAME="FORMMAIL_MODE" VALUE="CONFORM_OK"> <!-- LoopFormat Start --> <INPUT TYPE="hidden" NAME="%s" VALUE="%s"> <!-- LoopFormat End --> これは必須らしく、どこで日付を作成したらいいのかわかりません。 宜しくお願いします。

関連するQ&A

  • アクセスでの日付入力について

     アクセス2000を使用しています。フォームで日付(受付日)を 入力する際に、○年○月○日のそれぞれをコンボボックスで選択 できるようにと考えています。でも私が思いつく方法だと、保存先 のテーブルには「受付年度」、「受付月」、「受付日」の3つの フィールドができてしまいます。そのテーブルで内容を確認する こともあるので、見た目にはあまりよくありません。  これを何とか、フォームでは3つのテキストボックスに分かれて いても、保存先では「受付年月日」としてひとつにまとめて 表示させることはできるでしょうか? 方法があれば教えてください。 説明がわかりにくい場合は、質問をお願いします。

  • アクセスのコンボボックスの作成方法(日付)について

    アクセスのフォーム上で日付を入力するコンボボックスを作成したいのですが、作成方法がわかりません。どなたか詳しい方、教えてください。具体的には、コンボボックスのリストに 今日の日付・昨日の日付・一昨日の日付 がでるようにしたいのです。  例)2007/06/12 2007/06/11 2006/06/10 宜しくお願いします。

  • Access抽出クエリの基本的なこと

    お世話になります。 初心者で苦労しながらもAccess2000でデータベースを作成しています。 非常に基本的な質問だと思うのですが、どなたかご教授願います。 日付を含むフィールドがあるテーブルがあり、クエリにてその日付から 年と月を拾っています。 ID   入力日   年:Year([入力日])   月:Month([入力日]) 1   2001/07/06    2001          6 2   2002/06/07    2002          6 3   2002/07/19    2002          7 別に作成したフォームに年と月を絞り込むためのコンボボックスをそれぞれ配置し、 入力された値によって上記クエリの抽出条件に反映させたいのですが、コンボに何も 入力されていないときは全てのデータを表示したいんです。 「コンボ月=2002」&「コンボ月=6」でID=2のデータのみを、 「コンボ月=(Null)」&「コンボ月=6」でID=1と2のデータを表示したいんです。 (判りにくくてすみません。。) このような場合、抽出条件に記述する式はどのように設定したら良いのでしょうか? IIfでIsNullの条件式を組んだのですが、Nullの時に返す値が判りません。 どうかよろしくお願いします。

  • VB.net2010 曜日の取得について

    初心者ですが、失礼します。 VB.net2010にて コンボボックス4つ (「20」「00」年「04」月「02」日の「」の4つ) に任意の日付を入れてその日の曜日を分かるようなコードを組みたいのですが、 weekdayname関数とコンボボックスの合わせ方がイマイチ分かりません。 宜しくお願い致します。 1. コンボボックス4つの年月日を選択してボタンを押す 2.メッセージボックスに曜日を表示する

  • ACCESSのフォームについて

    日付ごとに管理された作品のDBがあるとします。 その場合に、フォームで日付を入力することにより、 その日付の作品が抽出されてコンボボックスに表示することができますか? また、コンボボックスで表示する場合に、同じ項目は表示しないことは可能ですか?

  • EXCELコンボボックスに表示されません。

    EXCELでユーザーフォームの中にコンボボックスを作りました。日付を選択したいので「11月1日、11月2日・・・」とズラズラ表示されるのですが選択するとコンボボックスに表示されるのは「38670」などの数字が表示されます。ここにちゃんと日付を表示するにはどこを変えたらいいでしょうか? やり始めたばかりの初心者で質問内容が幼稚かもしれませんが、宜しくお願いします。

  • コンボボックスのTEXTを日付に

    はじめまして 早速ですがどなたかお助けを! 入力フォームに「月」「日」のコンボボックスが別々にあります。 その値を1つのセルに日付として表示するにはどうしたらいいでしょうか? Range("C7") = comMonth.Text / comDate.Text これだとうまくいきません どなたか教えていただけませんか? よろしくお願いします

  • excel、VBA、フォーム、コンボボックスの入力規則の設定

    excelでフォームを使ってシートにデータの入力をしているのですが、 日付の入力で○月○日のところを月、日それぞれ、コンボボックスを使って2桁の文字列入力にしています。例えば4月のところは「4」ではなく、「04」と入力します。  コンボボックスなので、直接入力もできるため、たまに一桁で入力してしまうことがあり、計算結果が狂うことが起こっています。このミスを防ぐため、入力先のセル自体に入力規則(2桁のみ可)を設定しましたが、フォームからの入力ではエラーとならず、そのまま入力されてしまいます。  リストボックスを使ってリストのみから入力できるようにすればよいのかもしれませんが、コンボボックスの方がなにかと都合がよいのでコンボボックス自体に入力規則を設定できればと思っています。何かよい方法があるでしょうか?

  • Accessで家計簿を作っているのですが・・・(再

    いつもおせわになっております。 現在、Accessで家計簿なるものを作っているのですが・・・ まずマスタテーブルから入力データが存在する日付をクエリで抽出し、それをフォームのテキストボックス1のコントロールソースに指定して、そのテキストボックス1に表示されている日付を元にフィルタ機能を使ってその日に入力されたデータ一覧をサブフォームで表示するという方式を取っているのですが・・・(解かり難くてすみません この方式だとクエリのレコードを移動するとサブフォームの表示内容も対応してその日のが抽出されます。 しかし、データがたくさん蓄積されてくると一日ずつ(1レコードずつ)移動すると手間がかかってイライラしそうです。 で、同じフォームにコンボボックス1を追加し、上記にもあるマスタテーブルから入力されている日付を抜き出した日付一覧を取得してあるクエリを値集合ソースに指定してみました。 クリック時のイベント等もちゃんと設定したのですが、うまく動作してくれません。 コンボボックス1をクリックして選択したら、クエリをコントロールソースとするテキストボックス1の表示内容がコンボボックス1で選択されたものに変更される、みたいなことって出来ないのでしょうか? コンボボックス1だけにしてテキストボックス1を消すとコンボボックス1で選択した日付の内容をサブフォームで表示することは出来たのですが、それだとコマンドボタンを押して次のフィールドに移動し、かつコンボボックス1の表示内容も自動変更というのが出来なかったので・・・ 長文でスミマセンが、どなたかお知恵の拝借お願いします。

  • 【Excel・マクロ】コンボボックス・テキストボックスからのデータの入力について

    教えて下さい! 今シートにはA列に日付(2003/1/1~2010/12/31)、B列からI列の1行目には項目名が入っています。 これから行いたいことは、別マクロで表示させたフォームのコンボボックスから日付を選択し、同じフォーム上にある項目名に沿った8つのテキストボックスにデータを入力することにより、そのデータがシートに反映されるというものを作成したいのです。 データが入力される部分は選択された日付の行の、各項目名と交わる部分となります。 (例)        |あああ|いいい|ううう・・・ 2003/1/1 |    |    | 2003/1/2 |    |    | 2003/1/3 |    |    | ※上の表だとコンボボックスから2003/1/2を選択し、テキストボックス「いいい」部分にデータを入力するとC3セルにデータが入力されます。 コンボボックスにデータを表示させることは出来るのですが、そこから先(この日付を選んでテキストに入力して・・・)が出来ません。 よろしければ、記述を教えて頂きたいと思います。 宜しくお願い致します。