• 締切済み

アンケート個別表示について教えて下さい

新規アンケートを登録した場合に新規の物がdata内に『num=0』で保存され以前にアンケートをしたものが『num=1』に上書きされてしまいますがこれを、 以前にアンケートしたものを『num=0』で保存し新規でアンケートを登録した場合に『num=1』となるようにしたいのですが可能でしょうか? ########## アンケート個別表示 ######################################## my ($num) = @_; if ($num eq '') { $num = 0; } @THIS = split ('<>', $DATA[$num]); $anc_cnt = $THIS[1] + $THIS[2]; if ($THIS[1] == 0) { $p_yes = 0; $w_yes = 0; } else { $p_yes = int (($THIS[1] / $anc_cnt) * 10000) / 100; $w_yes = int $p_yes; if ($w_yes == 0) { $w_yes = 1; } } if ($THIS[2] == 0) { $p_no = 0; $w_no = 0; } else { $p_no = int (($THIS[2] / $anc_cnt) * 10000) / 100; $w_no = int $p_no; if ($w_no == 0) { $w_no = 1; } } if ($THIS[1] == $THIS[2]) { $w_yes = 49; $w_no = 49; } if ($num == 0 and $look_mode == 1) { $form_hed = "<form name=\"input\" method=\"post\" action=\"$myname\" onsubmit=\"return check_input ();\">\n<input type=\"hidden\" name=\"mode\" value=\"answer\" />"; $form_yes = '<input type="radio" name="answer" value="yes" />'; $form_no = '<input type="radio" name="answer" value="no" />'; $form_answer = "<br clear=all />\n<font size=\"-2\"> 感想(絵文字は使用不可\能\で\す)</font><br><input type=\"text\" name=\"com\" size=\"30\" maxlength=\"150\" /><br> <font size=\"-2\" color=\"#555555\">実際にサイトを利用した方 のみ、ご投稿下さい。<br> 同ユーザーによる複数投稿、誹謗中傷を含む発言は\予\告なく削除 いたします。</font><br> <input type=\"submit\" value=\"同意して投稿する\" /></form>"; } else { $form_hed = ''; $form_yes = ''; $form_no = ''; $form_answer = ''; } if ($form{'type'} eq 'i') { print <<"EOF"; <div id="anc" align="left"> <font color="red">■</font>$THIS[0] [<a href="$myname?type=i&mode=com&num=$num">コメント</a>]<hr /> $form_hed <font size="-2">$form_yes Yes : $THIS[1] ($p_yes%) </font> <hr size="$hr_w" color="$yes_color" width="$w_yes%" /> <font size="-2">$form_no No : $THIS[2] ($p_no%) </font> <hr size="$hr_w" color="$no_color" width="$w_no%" /> $form_answer </div> <hr /> EOF } else { my$w = $hr_w . 'px'; print <<"EOF"; <div class="anc"> <h2><font size="-2">「$THIS[0]」の感想レビュー投稿 </font></h2> <a href="$myname?mode=com&num=$num" target="anc_win" onclick="return win_open('$myname?mode=com&num=$num');"></a> $form_hed <div align="left"> $form_yes <em><font size="-1"><img src="/img/au1.gif" width="15" height="14" border="0">良い…</em>$THIS[1]票 ($p_yes%)</font><br> $form_no <em><font size="-1"><img src="/img/au2.gif" width="15" height="14" border="0">悪い…</em>$THIS[2]票 ($p_no%)</font><br> </div> $form_answer <br> <a href="$myname?mode=com&num=$num" target="anc_win" onclick="return win_open('$myname? mode=com&num=$num');"><font size="-1">投稿一覧</font></a> </div> EOF } } また、このようになっている場合にどのようにすればよいのでしょうか?

みんなの回答

  • x415f484f
  • ベストアンサー率71% (57/80)
回答No.2

> コチラのサイトさまよりダウンロードをさせていただきましたアンケートCGIです。 # 最初からそのように仰って頂けたら、とても良かったのではないかと思います。 本来の動作の確認に配布されている「アンケート CGI」の設置をしてみました。 管理者がアンケートを開設すると、Yes/No の投票と一行程度のコメントが残せる もので、アンケートひとつについてしか投票は行えず、更に新しいアンケートを 追加すると今までのアンケートには投票もコメントも出来なくなるものでした。 これが元の動作で間違いないでしょうか? そして、あなたが改造なされたのが表示処理の箇所だけのみであればデータが上書きされ てしまうことはないと思われます。 # と、ここまで調べてやっとなんとなくわかりました。 結局、あなたがなさりたいことは「表示する時の番号の振り方が古いものと新しいものが 逆になってしまい気持ちが悪いから順序を変えたい」と仰っておられるのでしょうか? # スクリプトのコードの全てを確認していないので絶対とは言えませんけれど……。 POST メソッドの URL の部分に使っている $num 等は一切変えずに HTML の表示部分に 別の変数を使って投票や管理等の処理に影響が出ないようにすれば、可能ではないかと思わ れます。また、保存や読み出している箇所に一工夫するのも方法のひとつでしょう。 できれば、次回からは改造された部分を差分として提示されて、例えば「 682 行目の □□部分を○○に変更しました」というような感じにお書きになって頂けないでしょうか? # さすがに回答に CGI の設置と、ここに貼られたコードの差分まで調べて動作の確認 # は荷が重い……、という理由で他の方々からの回答は得られてないのかと思います。 # こんな余計な意見ばかり申し上げて申し訳ないのですが……。 # では、がんばってみてください。

全文を見る
すると、全ての回答が全文表示されます。
  • x415f484f
  • ベストアンサー率71% (57/80)
回答No.1

※ 回答ではありませんが。 > 新規アンケートを登録した場合に新規の物がdata内に『num=0』で保存され > 以前にアンケートをしたものが『num=1』に上書きされてしまいますがこれを、 > 以前にアンケートしたものを『num=0』で保存し新規でアンケートを登録した > 場合に『num=1』となるようにしたいのですが可能でしょうか? それは前回までのデータをどのように保存して管理しているかだと思われます。 二回目以降の投稿があった場合に、その投稿が「初回から起算して何回目となるか というを管理をしている部分」になんらかの問題があるのではないでしょうか? また、表示部分だけのコードをご提示なされても意味がわかりません。 このコードを見る限り次のようなことしかわかりません。 (私の読解力とスキルが低過ぎるのかもしれませんが) > my ($num) = @_; この前の行に sub functionX となっている箇所があると思われます。 (名前が不明ですので仮に sub functionX とさせて頂きます) そして、呼び出している部分[&funtionX(args) 等と記述している箇所]で引数として args(仮称) があると思われます。 > if ($num eq '') { $num = 0; } functionX の引数が空の文字列('')の場合には $num = 0 となるのは動作 としては当然なのではないでしょうか? > $DATA[$num] $DATA にもどのような値が入っているのかも不明です。 もしかすると HTML 部分の POST メソッドの部分で URL の QUERY_STRING に 格納される num の指定から投稿データの $num が決定されるということなら 悪戯が容易に出来てしまえる脆弱な実装かと思われます。(あくまで憶測です) というように、これだけの情報(コードの行だけは多いのですが)では「仮定」や 「憶測」でしか言えないのです。 ご自身でお書きになられているコードであれば、各部の動作とかを整理して ご質問して頂けると助かります。 余計なことばかり申し上げましたが、よろしくお願い申し上げます。 # これは、どこかでダウンロードされたスクリプトの改造をなさっておられるのでしょうか? # それの出所の URL と改造部分だけを提示されるほうが問題の解決に繋がると思われます。

abc00
質問者

補足

x415f484fさま、お返事ありがとうございます。 また、解り難い質問をしてしまいましてすみませんでした。 ># これは、どこかでダウンロードされたスクリプトの改造をなさっておられるのでしょうか? ># それの出所の URL と改造部分だけを提示されるほうが問題の解決に繋がると思われます。 コチラのサイトさまよりダウンロードをさせていただきましたアンケートCGIです。 http://hary.cocolog-nifty.com/text/cat8172918/index.html すみませんが宜しくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ▲▲パソコンの中ではリンクできるが、INET上ではPageが表示されない。。。▲▲

    このように作成しました。INET上ではリンクできません。助けててください。</head>より上はカットしました。 <body> <hr color="#0000FF" style="filter:alpha(opacity=100,finishopacity=0,style=3);" width="350"> <font size="3"><div align="center">Hand-made HTML</div></font> <hr color="#0000FF" style="filter:alpha(opacity=100,finishopacity=0,style=3);" width="350"><br> <br> <font size="2"><div align="center">本日は、Hideyuki.comのHTML講座にお越し頂きまして、ありがとう御座います。<br> ここでは、HTMLについてご説明しています。勿論サイト自体も、手打ちで作っています。<br> 心行くまで、楽しんでいって下さい。</div></font></td> <br> <HR color="#777777" style="filter:alpha(opacity=100,finishopacity=0,style=3);"> <br> <br>               <font size="3"><a href="Hand-made_HTML_HTML概要.html" style="text-decoration:none;">■HTML概要</a></font><br>                  <font size="2">- HTMLを簡単に説明しています -</font><br> <br>               <font size="3"><a href="Hand-made_HTML_HTML基本.html" style="text-decoration:none;">■HTML基本</a></font><br>                  <font size="2">- HTMLの基本をご説明しています -</font><br> <br>               <font size="3"><a href="Hand-made_HTML_Web概要.html" style="text-decoration:none;">■Web概要</a></font><br>                  <font size="2">- HTMLを深く学ぶ前に少しWebの勉強をしましょう -</font> </body> </html>

    • ベストアンサー
    • HTML
  • セレクト表示方法について

    DBのトップ画面で選択画面の表示項目を1つだけ表示表示して矢印で開けるようにしたいのですが書き換え方がわかりません。 一応、表示部分の↓に書いて見ました sub html { # 表示開始 &header; print <<"EOM"; <table bgcolor="#B5B5B5" cellpadding=4 cellspacing=0 border=0 width="45"> <tr><td align="center"> <A HREF="$homepage" STYLE="text-decoration:none;color:black">戻る</A> </td></tr> </table> <center> <hr width="400" noshade> <font color="$t_color" size="$t_size" face="$t_face"><b>$title</b></font> <hr width="400" noshade> <P> <table><tr><td> $TopMessage </td></tr></table> <form method="POST" action="$script"> <input type=hidden name=mode value="search"> <table border=0 cellpadding=15><tr> EOM # 配列1 $size1 = @part1 + 1; print "<td valign=top><font color=\"$t_color\">■</font> <B>テス</B><br>\n"; print"<select name=P1 size=\"$size1\">\n"; print "<option value=\"99\" selected>指定なし\n"; foreach (0 .. $#part1) { print"<option value=\"$_\">$part1[$_]\n"; } print "</select></td>\n"; print "</tr></table>\n"; print "<font color=\"$t_color\">■</font> <b>キーワード</b> (任意)<br>\n";

    • 締切済み
    • CGI
  • htmlタグの問題点について

    HTMLタグを使用して ページを作ろうと思っています。 そして作成してみたところ、 エラーがあるみたいで auで正しく見れていないようです。 携帯から閲覧できるものを作成しています。 問題点としては、 fontタグ、divタグ、テーブルタグの 開始タグと閉じタグの数が あっていないようなのです。 (開始タグが1個少ない) 自分でも考えてみたのですが やっぱり治りません! どなたか詳しい方、 どこをどうなおせばよいのか 教えていただけないでしょうか。 下記が問題のあるタグです。 </br> <center> </br><table bgcolor="white" cellspacing="4" width="80%"><tr><td bgcolor="#ffffff"><center> </br> <HR color="#FFCCCC" size="4" width="100%"> <HR color="#FFCCCC" size="1" width="100%"> <img align=center mode=<img src="画像URL"><div align="center"></br></div></center> <center><img align=center mode=<img src="画像URL"><div align="center"></br></div></center> <clear=all> <HR color="#FFCCCC" size="1" width="100%"> <HR color="#FFCCCC" size="4" width="100%"></center> <CENTER><a href="サイト独自タグ"><font size="1" color="#8A8A8A">aaaaaaaa</font></a></CENTER> </br> </td></tr></table> </br></br> <br><center><table bgcolor="white" cellspacing="4" width="85%"><tr><td bgcolor="#ffffff"><font size=1></font></center>

  • お問い合わせフォームの記述方法について

    よろしくお願いします。 以下のようにお問い合わせフォームを作成しました。 <form> <p>・名前<br /> <input type="text" name="お名前" size="40" /> </p> <p>・メールアドレス<br /> <input type="text" name="email" size="40" style="ime-mode:disabled" /> </p> <p>・郵便番号<br /> <input type="text" name="郵便番号" size="10" style="ime-mode:disabled" /> </p> <p>・住所<br /> <input type="text" name="住所" size="40" /> </p> </form> 上記の住所の欄に、都道府県を選択出来るようにしたいのですが この様な場合、どういった記述方法が必要なのでしょうか? 書籍を見てみたのですが、複数選択できる案内は記載されていなく 方法が分からずに困っております。 どなた様か、ご指導の程よろしくお願いします。

    • ベストアンサー
    • HTML
  • TEXTAREAからのデータを改行入りで表示したい

    urizakaです。 さて現在、Tomcat+PostgreSQL+JavaでDBから持ってきたデータを 一度TEXTAREAに代入し、そこでデータの修正を行った後に、その修正 データを次の画面で表示するというプログラムを組んでいるのですが、 このTEXTAREAで入力したデータが、次の画面での表示の際にうまく 改行してくれません(改行なしで表示されます)。Tomcat上ではうまく 改行されて表示されているのですが・・・。  いったいどうすれば、Web画面上でもうまく改行してくれるのでしょう? 「ソースコード(最初のページ)」 (前略) <form name="form2" method="post" action="MContConf.jsp"> <p><font size="3"><b><font size="5">[改定]</font></b></font><BR> <BR><TEXTAREA NAME="Cont2" ROWS="20" COLS="100" WRAP="hard">  <%=mcont%></TEXTAREA></p> <input type="submit" name="submit" value="上記フォームで送信"> </form> (後略) 「ソースコード(次の画面)」 <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=EUC-JP"> <%@ page contentType="text/html; charset=EUC_JP" %> <%@ page import="BasisBean,java.util.*" %> <jsp:useBean id="Basisbean" class="BasisBean"> <% //↓文字化け対策 String Content = Basisbean.cSet(request.getParameter("Cont2")); //↓これでTomcatに表示させると、Tomcat上では改行して表示する System.out.println("answer : " + Content); %> <html><body bgcolor="#FFFFFF" text="#000000"> <p align="center"><b>以下のような内容で送信します。</b></p> <p><b><font size="4"><%=Content%></font></b></p></body> </jsp:useBean></html> Java環境はJ2SDK1.4です。 すみませんが、ご存知の方、よろしくお願いします。

    • ベストアンサー
    • Java
  • 2列に表示させたい

    お世話になります。HTML初心者で教えていただきたいのですが、よろしくお願いします。 以下のタグで、「月別来館者数の推移」まで表示できたら、次の表は3cm程間を空けて右に表示させたいのですが、 タグをどのようにすればいいのでしょうか。 タグを直していただければ助かります。 よろしくお願いします。  <tbody> <tr> <td width="200" valign="Top" class="normal"> <p><span class="textitle"><font size="2"><b> 来館者数</b></font></span><br> <br> <font size="2">平成17年○月分<br> <br> <font size="2">月別来館者数の推移</font></p> </td> </tbody> </table> <font size="2">平成  年  月  日現在</font></tr> <table border="1" bordercolor="black" vspace="5" hspace="30" align="Left"> <tbody> <tr> <td align="Center" width="70"><font size="2">資料1</font></td> <td align="Center" width="70"><font size="2">約   冊</font></td> </tr> <tr> <td align="Center" width="70"><font size="2">資料2</font></td> <td align="Center" width="70"><font size="2">約   題</font></td> </tr> <tr> </tbody> </table>

    • ベストアンサー
    • HTML
  • 文字数を数える際に空白、改行をカウントしない方法

    こんばんは。 ど素人なのですが、テキストエリアの文字数をカウント したいと思い、さまざまなサイトを参考に作成しましたが、 スペース等の空白と改行をどうしても文字数として カウントしているのしか見つけられませんでした。 純粋に文字数だけをカウントさせるにはどのように すればよいのでしょうか。ちなみにこんな感じになっています。 こちらもいろいろ過去ログを調べてみたのですが やはりわかりませんでしたので、どうか宜しくお願い致します。 <SCRIPT Language="JavaScript"> <!-- function Check() { Br=navigator.appName; Num=document.user.comment.value.length; if(Br=="Netscape") document.user.counter.value=Num/2; else if(Br=="Microsoft Internet Explorer") document.user.counter.value=Num; } //--> </SCRIPT> <CENTER><B><FONT SIZE="4" COLOR="tan" FACE="MS UI Gothic">入力フォーム</FONT></B><BR> </CENTER> <CENTER> <FORM name="user"> <TEXTAREA name="comment" wrap="physical" cols=100 rows=50>文字数をチェックして見て下さい。</TEXTAREA><P> <INPUT type="button" value="文字数チェック" onClick="Check()"> <INPUT type="text" name="counter" size=3 maxlength=3>字</P> </FORM> </CENTER>

  • 表示できないページ

    社内のイントラを作成しています。 以下のソースのページを作成したのですが、 WIN95、IE5.00の端末で開くと「ページが表示できない」 というメッセージがでて、ページが表示できません。 原因として、なにがおかしいのでしょうか? 宜しくお願いします。 << ソース >> <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 BACKGROUND COLOR="white" TEXT="#FF80C0" LINK="#FF80C0" VLINK="#009999"> <CENTER> <P STYLE="BACKGROUND-COLOR:00D9B2;"><FONT SIZE=3 COLOR=#CC0099>便利なリンク集</FONT></P> <BR> <FONT SIZE="4" COLOR=BLACK><B>~便利なリンク集~</B><FONT> <P><BR> </CENTER> <IMG SRC=""CLASS="PARAM1" ALIGN="right" width="100" height="90"> <BR><BR><BR> <CENTER> <TABLE BORDER="0"WIDTH="350">  <TR VALIGN="MIDDLE" ><FONT SIZE=3 COLOR=#000000><A HREF="html"> 情報・通信グループ  ユーザ管理システム (ユーザ向け)</A></FONT></TR>  <TR VALIGN="MIDDLE" ><FONT SIZE=3 COLOR=#000000><A HREF="soum2.html" >事故報告書の作成(SEが対応した事故を対象とする)</A></FONT></TR> <TR VALIGN="MIDDLE" ><FONT SIZE=3 COLOR=#000000><A HREF="doc"> 東京インフラG  所有品の持出しについて </A></FONT></TR><BR> <TR VALIGN="MIDDLE" ><FONT SIZE=3 COLOR=#000000><A HREF="">PG制定要否決裁流れについて</A></FONT></TR> </TABLE> <BR><BR> <FONT SIZE="4" COLOR="RED"><A href=""><B>back</B></A></FONT> </CENTER> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • AUだけ表示されない!

    CGIをつかって簡易データベースを作っています。 HTML出力したときに、DoCoMoとSoftbankでは表示される場所が、auだけ表示されません。 auは仕様が違うことはしっています。しかし、何が原因で表示されないかがわかりません。 みなさん力を貸してください。 表示されない箇所:formタグのところの項目名、<H1>タグの見出し文字 以下ソースです。 -------HTMLソース------- <html> <head> <title>タイトル</title> </head> <Body> <H1>タイトル</H1> <FONT size="-1"> <Hr> <BR> 【&#xE6DC;検索対象】<BR> <Form Method="get" Action="./*****.cgi"> <input type="checkbox" name="type" value="1" >&#xE6D8;項目1 <input type="checkbox" name="type" value="2" >&#xE68C;項目2 <input type="checkbox" name="type" value="3" >&#xE6B1;項目3 <input type="checkbox" name="type" value="4" >&#xE6AE;項目4 <input type="checkbox" name="type" value="5" >&#xE731;項目5 <input type="checkbox" name="type" value="6" >&#xE689;項目6 <BR> <Input Type="text" Name="search" size="20" value=""></input> <Input Type="submit" Value="検索"></input> </Form> <BR> <HR> <A Href="./*****.cgi" accesskey="0">&#xE6EB;トップページ</A><BR> <A Href="./*****.cgi" accesskey="9">&#xE6EA;管理者モード</A><BR> </font> </body></html>

    • ベストアンサー
    • HTML
  • セレクトメニューのチェックと条件一致による入力チェック

    (1)メールフォームでセレクトメニューの「都道府県」部分で選択して送信する場合にJAVAで入力チェックエラーを表示させるにはどうしたらよいでしょうか?(東京、千葉、埼玉はOK) Javaサンプルソースを配布しているサイトを教えて下さい。 (2)JAVAによる入力チェックで「YES」にチェックされた場合に、テキストエリアを入力必須にするエラー表示方法を紹介しているサイトを知っていたら教えて下さい。 --------------------------------------------------------------- <form>名前:<input size="20" type="text" name="name"><br> 住所:<select size="1" name="adress"> <option value="東京">東京</option> <option value="千葉">千葉</option> <option value="埼玉">埼玉</option> <option value="都道府県" selected>都道府県</option> </select><input size="20" type="text" name="adress2"><br> (都道府県の場合はエラー表示)<br> <hr> 選択:<input type="radio" name="sentaku" value="yes">YES <input type="radio" name="sentaku" value="No">NO<br> <hr> YESの場合コメント記載<br> <textarea rows="2" cols="20" name="coment"> ----------------------------------------------------------------