CGIの改造で判らないことが…

このQ&Aのポイント
  • CGIの改造についての質問です。ページ上部に表示される部分を改造して画面左側にメニューを常に表示することは可能でしょうか?
  • 質問者は、tail_reviewというCGIの改造についての質問をしています。具体的には、ページ上部のコマンドフォーム部分を改造し、画面左側に常にメニューを表示したいとのことです。
  • 質問者は、CGIの改造について質問しています。具体的には、ページ上部に表示される部分を変更して、画面左側にメニューを常に表示する方法を知りたいとしています。
回答を見る
  • ベストアンサー

CGIの改造で判らないことが…

tail_reviewと言うCGIの改造について聞きたいのですが、 ページ上部に記載される部分がこのコマンドフォームになると思うのですが、 HP|批評 type1|批評 type2|批評修正|タイトルリスト|ランキング|使用説明|管理用 と、この部分はどこのページでも適応されてるみたいです。 そこで質問なのですが、 ここの部分を改造して画面左側にメニューを常に表示するようにしたいのですが可能でしょうか? もし可能であれば、そのようにすればいいのかを教えて下さい^^: 無理であれば無理と教えて頂けたら嬉しい限りです(汗) # ---------------------------------------------------------- # コマンドフォーム # ---------------------------------------------------------- sub command{ print qq(<font size="2">\n); print qq(<a href="$hp_address">$hp_name</a>|); print qq(<a href="$cgi_name?mode=entrance">批評 type1</a>|); print qq(<a href="$cgi_name?mode=entrance&type=1">批評 type2</a>|); print qq(<a href="$cgi_name?mode=revision">批評修正</a>|); print qq(<a href="$cgi_name?mode=all_title">タイトルリスト</a>|); print qq(<a href="$cgi_name?mode=rank_review">ランキング</a>|); print qq(<a href="$cgi_name?mode=explain">使用説明</a>|); if( $add_key eq 'yes' ){ print qq(<a href="$cgi_name?mode=add_review">タイトル追加</a>|); } print qq(<a href="$cgi_name?mode=manager">管理用</a>); print qq(<font>); # 批評修正 最新記事一覧 }# end command 説明下手で本当にスイマセン。。。

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

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

  • ベストアンサー
  • korolo
  • ベストアンサー率42% (39/92)
回答No.1

ここのカテゴリーはcgiについての質問ですが、kojiro1031さんのご質問はHTMLについての内容です。 メニューをページ上部から画面左側にするには、sub commandを改造するのではなく、cgiに記述されている&commandを実行する場所(全体のHTML書き出しの中で、どこでということ)の変更と必要に応じて書き出しの改造(追加)が必要になります。 残念ながらtail_review.cgiは既に公開されていないようですので何とも言えませんが、一般的に<TABLE>で左へ外出しするか、<STYLE>を使うことになるでしょうか。

kojiro1031
質問者

お礼

申し訳ございませんでした… CGIの中身に関することだったので、CGIのカテに質問してしまいました… 今後は気をつけさせていただきます。 あと、回答本当にありがとうございました^^

関連するQ&A

  • CGIの中のjavascriptに関して

    教えて下さい。 下記のようなCGIファイルにjavascriptを記載しようと考えて いますが、どうしてもエラーとなってしまいます。 《エラー内容》 Network Error(tcp_error) *  《記載内容》 #!/usr/bin/perl <script type="text/javascript"> <!-- var url = "http://999.999.999.999/"; //ジャンプ先のURLを指定 var moveTime = 2000; //移動までの時間をミリ秒で指定 function jump(){ location.href = url; } setTimeout (jump, moveTime); //--> </script> print "Content-type: text/html\n\n"; print qq! <html> <head> <title>指定秒後に別のページへジャンプ</title> <META Http-Equiv="Content-Type" Content="text/html;charset=EUC-JP"> <body> <p><a href="index.html">index.html</a><p> </body> </html> !; 何か間違った記述の仕方をしているのでしょうか。。。 CGIファイルにjavascriptを記載する場合はどこへ記載すれば 良いでしょうか。。。。 教えて下さい。

  • CGIでtxtが読み取れません…

    --------------frame.cgi----------------------- #!/usr/bin/perl # フォームからのデータを読み込む $ID1 = '12345'; $path = 'http://xxx.xxx/cgi-bin/atc/user/'; $txt = '.txt'; $FileName = $path.$ID1.$txt; print "Content-type: text/html\n"; print "\n"; if (-f $FileName){ print <<"DISP_SET"; <HTML> <frameset rows="80,*" cols="*" framespacing="1"" frameborder="yes" border="1" bordercolor="#000000"> <frame src="input.cgi?$ID1" name="top" scrolling="no" noresize> <frame src="http://xxx.xxx/nodata.htm" name="mainF"> </frameset> </HTML> DISP_SET } else{ print <<"DISP_SET"; <HTML> <BR> 指定された$ID1はありません。<BR> 新規発行をするか、IDの確認をしてください。<BR> <BR><BR> <a href="javascript:history.back();">一つ前のページへ戻る</a> </HTML> DISP_SET } exit; ----------------------------------------- サーバの中身を引越ししようと有料のサーバにうつしたのものです。 このようになっているのですが、txtファイルが読めていないらしく、エラーメッセージの方が出てしまいます。 ちゃんと12345.txtというのは存在します。 フォルダのパス名とかは修正し大丈夫だと思うのですが、読み取れません… http://xxx.xxx/cgi-bin/atc/input.cgi?12345 読み取れる http://xxx.xxx/cgi-bin/atc/frame.cgi?12345 読み取れない なので、txtデータを読み取れていないと思いました。 原因、修正個所、追加補足などありましたら、よろしくお願いします。

    • ベストアンサー
    • CGI
  • <FORM TYPE="subumit">でデータをCGIに飛ばして、画面には別のHTMLを表示する。

    #submitでデータを飛ばす(A.cgi)処理以外にもう一つウィンドウを開いて(B.html)中継をした上で(B.html)からリンクで(A.cgi)に飛ばせたいと思います。ちなみに質問No.994791も私の疑問に近いのかとも思い参照しましたが初心者でわかりません。 print "<td><form action=\"$script\" method=\"GET\">\n"; #認証後の投稿ページ画面へ(forum.cgiへパラメータを渡す/forum.cgi?id=$id&pw=$pw)へ飛ぶ print "<table align=\"center\"><tr><td>\n"; print "<tr><th><UL><LI>すでにパスワード取得済みの方はこちらからどうぞ</th>\n"; print "<tr><th>ログインID<th><input type=text name=id size=8></tr> \n"; print "<tr><th>パスワード<th><input type=password name=pw size=8></tr> \n"; print "<tr><th colspan=2><input type=submit value=' 認証する '></tr> \n"; #この辺に入れるのかな? #やりたい処理をまとめると<FORM TYPE="subumit">でデータをCGIに飛ばして、画面には別のHTMLを表示する。 #CGI入力されたデータを一個飛ばしてCGIで利用したいためです。 print "<td><input type=hidden\">\n"; print "</td></tr></table>\n"; print "<P><table align=center>\n"; print "<UL><LI> <a href=\"$postmail\">パスワードを新規取得の方</a> はこちら \n"; #認証の前処理:会員登録画面(postmail.html)へ飛ぶ#2004.12.6 print "<LI> <a href=\"$pwmake?mode=change\">パスワードを変更の方</a> はこちら \n"; print "</table></form>\n</body></html>\n"; exit;

    • 締切済み
    • CGI
  • フリーCGI ラジオボタンの改行についてです。

    色々調べましたが、どうしても分からなかった為質問させて頂きます。 http://cgikon.com/search/detail.php3?cgi_id=308 こちらのフリーCGIをお借りして、アンケートを作成することになりました。 質問は、ほぼラジオボタンによる3択です。 デフォルトだと、ラジオボタンは横並びになっているのですが 質問内容が長過ぎるため、見づらくなってしまいます。 その為、ラジオボタンを添付画像のように改行したいと思っております。 おそらく、下記のどこかを変更すればいいとは思うのですが 分かりませんでした…。 # アンケート質問の表示 my($number) = 0; foreach (@question) { ($qtype,$qname,@column) = split(/\t/); next if($qname eq ""); $number++; $key = "Q".$number; print qq! <TR> <TD NOWRAP VALIGN="top"><B>【質問$number】</B></TD> <TD>$qname</TD> </TR> <TR> <TD> </TD> <TD> !; if($qtype =~ /LISTBOX/i) { print qq!<SELECT NAME="$key" SIZE=1>!; foreach (@column) { next if(!$_); print qq!<OPTION VALUE="$_">$_!; } print qq!</SELECT>!; } elsif($qtype =~ /RADIO/i) { foreach (@column) { next if(!$_); print qq!<INPUT TYPE="radio" NAME="$key" VALUE="$_">$_!; } } elsif($qtype =~ /TEXTAREA/i) { print qq!<TEXTAREA NAME="$key" COLS=50 ROWS=5></TEXTAREA>!; } elsif($qtype =~ /TEXTBOX/i) { print qq!<INPUT TYPE="text" NAME="$key" VALUE="" SIZE=50>!; } print qq! </TD> </TR> !; } 配布元のサイト様が今月末で閉鎖される為 それに伴い、個別でカスタマイズなどの依頼対応も出来ない状態です。 申し訳ございませんが、どなたか詳しい方 ご教授頂ければ幸いです。どうか宜しくお願い致します

    • ベストアンサー
    • CGI
  • a.cgi → b.cgiへデータの受渡し方法

    a.cgi → b.cgiへデータの受渡しを行いたいのですが i-modeのHPで,画面入力させた内容を a.cgi → b.cgiに受け渡す方法を教えて下さい。 例?:a.cgiに下記のコーディングでは無理ですよね・・・ $aa=$FORM{'aa'}; print "Location: http:・・・・・i/b.cgi?a=$aa\n\n";

    • ベストアンサー
    • Perl
  • CGIがうまくいかないので困っています

    フリーソフトのCGIを利用してメールフォームを設定しましたが、うまくいきません。困っていますのでどなたか助けてください。 送信した際にこのような表示があり、確かに受信できますが、一部しか表示しません。 さくらレンタルサーバー利用です。 *は自分のアドレス Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 To: ****@***.ocn.ne.jp From: ****@***.ocn.ne.jp Subject: HPからのお問い合わせ message = name name以外にも入力箇所がいくつもあるのに、message=とnameしか送られてきません。 htmlは次の通りです。 <form action="mail/mail.cgi" style="font-weight : normal;color : rgb(102, 102, 102);" method="post" enctype="text/plain"> <h3>お問い合わせフォーム</h3> <p>*は入力の必須項目です。</p> <table> <tbody> <tr> <th>お問い合わせ内容*</th> <td><textarea name="message" class="l" cols="40" rows="12"></textarea></td> </tr> <tr> <th>お名前(漢字)*</th> <td><input type="text" name="name" class="m"></td> </tr> <tr> <th>お名前(フリガナ)*</th> <td><input type="text" name="kana" class="m"></td> </tr> <tr> <th>E-Mail*</th> <td><input type="text" name="email" class="l"></td> </tr> <tr> <th>電話番号(半角)*</th> <td><input type="text" name="tel" class="l"></td> </tr> <tr> <th>FAX番号(半角)</th> <td><input type="text" name="fax" class="l"></td> </tr> </tbody> </table> <input type="submit" value="  送信  " class="button"> <input type="reset"><input type="hidden" name="to" value="******"></form> <hr> CGIは #!/usr/local/bin/perl # ★ perlのパス名 # ★ 送信先メールアドレス $mailto = '******'; # ★ サブジェクト(件名) $subject = 'HPからのお問い合わせ'; # ★ メール送信コマンド $mailcmd = '/usr/sbin/sendmail'; # ★ -fオプションの有無 $usefoption = 1; # ★ 送信結果メッセージ(ヘッダ) # <<END_OF_DATA ~ END_OF_DATA の間を好みにあわせて変更してください。 $header = <<END_OF_DATA; <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS"> <title>メール送信結果</title> </head> <body> <h1 style=\"color:#36f;font-size:14px;\">メール送信結果</h1> <hr> <p>下記内容でメールを送信しました。ありがとうございました。</p> <hr> END_OF_DATA # ★ 送信結果メッセージ(フッタ) # <<END_OF_DATA ~ END_OF_DATA の間を好みにあわせて変更してください。 $footer = <<END_OF_DATA; <hr> <a href="../index.html">[戻る]</a> </body> </html> END_OF_DATA #==================================================================== # 自己診断機能。 #==================================================================== # メール送信がうまく動作しない時に、 # http://~/~/wwwmail.cgi?test の形式で呼び出してください。 if ($ENV{'REQUEST_METHOD'} eq "GET") { print "Content-type: text/html; charset=Shift_JIS\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>WwwMail自己診断</title>\n"; print "</head>\n"; print "<body>\n"; print "<p>CGIは正常に動作しています。</p>\n"; unless (-f $mailcmd) { print "<p>$mailcmd がありません。</p>\n"; } unless (-x $mailcmd) { print "<p>$mailcmd が実行可能ではありません。</p>\n"; } unl

    • ベストアンサー
    • Perl
  • CGIプログラムでのボタン表示のさせかた

    print "<form action=\"$script\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=note>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value="説明表'>"</form>\n"; print "<form action=\"$home\" method=\"POST\" target=\"_blank\">\n"; print "<input type=hidden name=mode value=_top>\n"; print "<input type=hidden name=job value=blank>\n"; print "<input type=submit value='トップ'></form>\n"; というCGIプログラムの文章があるのですが、 上記の記述で実行すると、 「説明表」ボタンと、「トップ」ボタンが縦に並んで表示されてしまいます。 これを、横に表示させるようにするには、 どのように変更すばいいのでしょうか? 参考になるかわかりませんが、「説明表」をクリックして表示される文章は、 他のCGIプログラムの中に記述されています。

    • ベストアンサー
    • CGI
  • URLに#を表示するには?

    初めまして。無料のCGI(掲示板)をDLして自分のHPで使用しているのですが「Res」ボタンをクリックするとスレッドの一番上に来てしまい、返信フォームが一番下にある為に使いづらいので改造を試みています。 とは言っても初心者なのでやり方自体が間違っているかもしれませんが。 返信フォーム付近に<a name=jump>タグを入力してあります、URLに「#jump」と手入力すれば思った事が出来るのですが以下のCGIにどの様に記述すれば良いのか教えてください。 print "<form action=\"$script\" method=GET>\n"; if($up_down){ print "<a href=\"#$mm[$x-1]\">▲前</a> <a href=\"#$mm[$x+1]\" class=\"ud\">▼次</a>"; $x++; } print "<input type=hidden name=mode value=new_html>\n"; print "<input type=hidden name=no value=$no>\n"; print "<input type=submit value='Res'> &nbsp; </td></form>\n"; 下から2行目の「=$no」の後に「#jump」と記述すると「#」が「%23」になってURLが出てきます。 これをURLで「#jump」と表示されるようにしたいのです。 下手くそな説明で申し訳ありませんがよろしくお願いします。

    • ベストアンサー
    • Perl
  • Location: で cgi → cgi は不可?

    print "Location: ./index.cgi\n\n"; 上記の命令でエラーとなります。 i-mode用のHPを作ろうと思うのですが,情報の受渡が必要でして・・・ どうすればいいのでしょう? 何かいい方法有りませんか?

    • ベストアンサー
    • Perl
  • CGIの処理によって表示するウィンドウを変えたい

    商品の管理画面を作成しています。 一覧画面で、まずラジオボックスで削除と修正のモードを選択して、次に商品の写真をクリックすると別ウィンドウが開いて削除画面なり修正画面を表示するというCGIを作成しています。 formタグの中は以下の感じにしました。  <form name="choice" method="get" target="profile" action="management.cgi">   <p>    <input type="radio" name="mode" value="0" /><br />    <input type="radio" name="mode" value="1" />   </p>   <p>    <button type="submit" name="id" value="001" />     001    </button><br />    <button type="submit" name="id" value="002" />     002    </button>   </p>  </form> これでCGIに対して、モードの選択と商品IDを送信し、処理結果を別ウィンドウに表示することが出来ます。 しかし、このやり方だと、処理を差し戻す場合も別ウィンドウに表示されてしまいます。 つまり削除と修正の選択を忘れたまま商品を選択してしまった場合、「削除、または修正を選択してください。」というコメントを追加して元の画面へ戻るようにしてあるのですが、この画面だけは別ウィンドウでなく元のウィンドウに表示させたいのです。 こういう表示ウィンドウの使い分けは出来るのでしょうか? CGIの言語はPerlを使用しています。

    • ベストアンサー
    • HTML

専門家に質問してみよう