• 締切済み

CGIだとうまくいかない!

elthyの回答

  • elthy
  • ベストアンサー率24% (124/500)
回答No.2

投稿してすぐに思い出しました。 #は「そこからコメントアウト」の記号なので、 そこから後ろが表示されないかも。 perlで出力させるときはついでに print "<a href=\"right_btm.cgi\#c\" target=\"FRAME3\">" のように前にエスケープマークの\をつけてみるのはいかがでしょうか。

yo-he
質問者

補足

早速のアドバイスありがとうございます。 ご指摘の点ですが、ここのHTMLの箇所は print << STD_OUT <HTML> <HEAD> (以下省略・・・・・) STD_OUT のように記述を行いましたので、CGIを起動後 HTMLソースを確認しても#は正常についているようでした。 説明不足があって大変申し訳ありません。 お手数ですが宜しくお願い致します。

関連するQ&A

  • HTMLのフレームについて

    左側にメニューを置き、右側をメインにしようとしているのですが、左側のメニューをクリックしても、左側にしか表示されません。 どうすれば良いか教えてください 全体のHTMLが <html> <Html Lang="ja"> <Head> <Title>○</Title> </Head> <Frameset cols="155,*" Frameborder="yes" Scrolling="auto" Bordercolor="#ffcc99"> <Frame src="メニュー~"> <Frame src="メイン~" name="main"> <Noframes> <body> <Center> <p> ○ </p> </Center> </body> </Noframes> </Html> 左(メニュー)のフレームは <html> <Html Lang="ja"> <Head> <Meta Http-equiv="content-type" Content="text/html; charset=Shift_JIS"> <Title>○</Title> </Head> <Body> <BaseFont Size="2"> <Font Size="2"> <A Href="~" target="main"></A><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> <br> <A Href="~" target="main"><Img Src="ー" Border="0"></A><br> </Body> </Html> ですよろしくお願いします

  • 画面全体に表示したい!

    まずは、下のソースをご覧下さい。 ------------------------------------------------- ファイル : sample1.htm <HTML> <HEAD><TITLE>CALL</TITLE></HEAD> <BODY> <a href="sample2.htm">フレーム分割</a> </BODY> </HTML> ------------------------------------------------- ファイル : sample2.htm <HTML> <HEAD><TITLE>MAIN_FL</TITLE></HEAD> <FRAMESET ROWS="64,*,64"> <FRAME SRC="top_frame.cgi" NAME="top" TARGET="A1"> <FRAMESET COLS="540,*"> <FRAME SRC="left_frame.cgi" NAME="right" TARGET="A2"> <FRAME SRC="right_frame.cgi" NAME="left" TARGET="A3"> </FRAMESET> <FRAME SRC="und_frame.cgi" NAME="under" TARGET="A4"> <NOFRAMES><BODY>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</BODY></NOFRAMES> </FRAMESET> </HTML> ------------------------------------------------ "und_frame.cgi"を実行した後、表示されたHTML <HTML> <HEAD><TITLE>UNDER_FRAME</TITLE></HEAD> <BODY> <FRAME NAME="BACK_TOP" METHOD="POST" ACTION="sample1.htm" TARGET=> <INPUT TYPE="HIDDEN" NAME="H1" VALUE="AAA"> <INPUT TYPE="HIDDEN" NAME="H2" VALUE="BBB"> <INPUT TYPE="SUBMIT" NAME="S1" VALUE="トップへ"> </FORM> </BODY> </HTML> ------------------------------------------------ 以上です。これを実行しますと4つのフレームに分割されまして、 一番下のフレームには「トップへ」というサブミットボタンが表示されます。 そこでボタンを押されたら一部のフレームだけじゃなく、 画面全体を"sample1.htm"を実行した画面に遷移したいのですが、 どのようにやればよろしいのでしょうか?

    • ベストアンサー
    • HTML
  • こんなことって出来ますか?

    <HTML> <HEAD> </HEAD> <FRAMESET ROWS="*,20%,5%" Border="0"> <FRAME SRC="top.html" NAME="main"> <FRAME SRC="menu.html" NAME="menu"> <FRAME SRC="yo.html" NAME="yo"> </FRAMESET> <NOFRAMES><BODY> このHPはフレーム対応ブラウザでしか御覧いただけません。 </BODY></NOFRAMES> </HTML> という状態で、 mainフレームに表示されているHTMLの見えない部分(スクロールさせないと表示されない部分)をyoフレームに表示させて、mainフレームがスクロールされるとyoフレームのところも随時その下の部分が表示されていく。 つまり、mainフレームの内容にmenuフレームがかぶさってる様に見せたいのですが、そんなことって出来るのでしょうか? あぁー こんな説明で伝わるだろうか とっても不安w まったく無知で、こういうことがJavaScriptの分野なのかどうかも分かって無いので、こんな質問ですいません。^^;

  • ランタイムエラーのデバッグ方法について

     ホームページを開設しています。来訪者から「ランタイムエラー」 が起こると指摘がありました。色々なブラウザーで再現を試みた ところ、ie5.5で再現しました。  デバッグしますか?で「はい」を選択すると下記ソースの 23行めが構文エラーであると表示されます。  ただ、恥ずかしながらCGIのあんちょこ本を見て書いて いるので、どう直せばよいのかがわかりません。  アドバイスを頂ければ幸いです。  index.htmlのソース -------------------------------------------------------------- 1 <HTML> 2 <HEAD> 3 <title>****</title> 4 <META name="keywords" content="****"> 5 <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=x-sjis"> 6 </HEAD> 7 8 <frameset rows="88%,12%" frameborder="0"> 9 <frameset cols="300,*"> 10 11 <frame src="menu.html" name="menu" MARGINWIDTH="0"MARGINHEIGHT="0"> 12 <frame src="main0.html"name="main0"MARGINWIDTH="0"MARGINHEIGHT="0"> 13 </frameset> 14 <frameset cols=100%> 15 <FRAME SRC="ad.html" NAME="ad" MARGINWIDTH="0" MARGINHEIGHT="0"> 16 </FRAMESET> 17 </FRAMESET> 18 19 <body> 20 <noframe> フレーム対応のブラウザをご利用下さい。<br> 21 22 <SCRIPT LANGUAGE="JavaScript"> 23 <!- 24 document.write("<img src='http://hpcgi1.nifty.com/*/report.cgi?"); 25 document.write(document.referrer+"' width=1 height=1>"); 26 //--> 27 </SCRIPT> 28 29 </body> 30 </NOFRAME> 31 </HTML> -------------------------------------------------------------

  • frameでのcssの変更する方法

    frameを使ってmain.html、menu.htmlを表示し、menu.htmlからmain.htmlのcss(外部)を変更する方法を教えてください。 frameのnameはmain.html→main、menu.html→menu、main.htmlのcssのidはmain、で指定してあります。 以下サンプルです frame.html <html> <head> </head> <frameset rows="50,*"> <frame src=main.html name="main"> <frame src=menu.html name="menu"> </frameset> </html> main.html <html> <head> <link rel="stylesheet" type="text/css" href="a.css" id="main"> ←(a.cssをb.css変更したい) </head> <body> </body> </html> menu.html <html> <head> </head> <body> </body> <a href="#">変更トリガー</a> </html>

  • マックは平気なのに、ウインドウズで表示されない。

    macのOS10でHPを作っています。ネットはインターネットエクスプローラーです。 すでにアップして、マックではちゃんと見る事ができるのですが、ウインドウズでは見れません。 インデックスページは正常に見る事ができるのですが、次のページから、真っ白になります。 そのページが、フレームを5つも使っているページなのですが、それが問題なのでしょうか。 それともタグの問題?? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <Title></Title> <body bgcolor="#260d00" link="white"vlink="white"alink="#ddff26"> </head> <Frameset cols="*,350" Frameborder="no" Scrolling="no" Border="0"> <Frame name="hidari" src="menu.html" noresize> <Frameset rows="80,*,50" Frameborder="no" Scrolling="no" Border="0"> <Frame name="ue" src="ueframe.html"noresize> <frameset cols="300,50"> <Frame name="mannaka" src="body.html"> <Frame name="migi" src="migiframe.html"noresize> </Frameset> <Frame name="sita" src="sitaframe.html" noresize> </Frameset> <Noframes> <body><p><Center> 申し訳ございません。<Br> あなたのブラウザではこのページをご覧頂けません。<Br> 最新版のブラウザをお使い下さい。</p></body> </Center> </Noframes> </frameset> </html>

    • ベストアンサー
    • HTML
  • C言語でCGI

    初めてC言語でCGIをやるわけではないのですが、わからないことがあるので質問させていただきます。 http://www2k.biglobe.ne.jp/~motoi/cdecgi.html このサイトを参考に話を進めさせていただきます。 まず、htmlで <HTML> <HEAD> <TITLE>テストページ</TITLE> </HEAD> <BODY BGCOLOR=#a0d0ff> <FORM METHOD="get" ACTION="test2.cgi"> <INPUT TYPE="text" NAME="fieldname" SIZE="50"><BR> <INPUT TYPE="text" NAME="fieldname2" SIZE="50"><BR> <INPUT TYPE="text" NAME="fieldname3" SIZE="50"><BR> <INPUT TYPE="submit" VALUE="書き込み"> </FORM> </BODY> </HTML> と書き、C言語で #include <stdio.h> #include <stdlib.h> #define getenv1(a) ((pdata=getenv(a)) ? pdata : "(NULL)") main() { int len; printf("Content-type: text/html\n\n"); printf("<HTML><HEAD></HEAD><BODY>\n"); printf("%s<BR>\n",getenv("QUERY_STRING")); printf("</BODY></HTML>\n"); } と書きます。 それからコンパイルを実行し、パーミッションも変更して実行を WEBサーバを作らずに実行するとファイルのダウンロードが始まります。(ファイル名はtest2.cgi) WEBサーバが無ければ文字をCGIに表示することは無理なのでしょうか? 教えてください。お願いします。

    • ベストアンサー
    • CGI
  • できる人がいたらお願いします。

    大切なところだけ下記に書き込みました。 今の所ここまでできていて後少しと言う所だと思うのですが。下記の※の部分が邪魔をしてどうしてもframe1.htmlのボタンが無効化してしまいます。 frame2.htmlの※の所を抜かせばいいじゃないかと思うのですが、frame2.htmlは加工できません。 なので、javaでもperlでもなんでもいいので。 frame2.htmlだけ変えないでtextareaに文章を入れたいです。 ヨロシクお願いします。 --------index.html------- <!DOCUMENT HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML> <head> <title>frames1.0</title> </head> <frameset cols="50%,50%"> <frame src="frame1.html" name="frame1"> <frame src="frame2.html" name="frame2"> </frameset> </html> --------frame1.html------- <HTML> <body> <form> <input type="button" value="送信" onclick="window.parent.frame2.document.getElementById('txt').value='文章1';window.parent.frame2.document.getElementById('txt1').value='文章2';"> </form> </body> </html> --------frame2.html------- <html> <body> <input name='txt' type='hidden' value=''> ※ <input name='txt1' type='hidden' value=''> ※ <center> 文章<BR> <textarea rows=2 cols=38 name=txt></textarea><BR> 文章<BR> <textarea rows=2 cols=38 name=txt1></textarea><BR> </center> <body> <html>

  • フレームのスクロールバー表示について。

    お世話になっています。 フレーム表示について質問があります。 ページが表示できません。と表示していた際には、スクロールバーがあったのですが、リンクをつなげたら、一つにつながってしまいました。 どのようにすれば、表示されるようになるのでしょうか。 過去の質問を見ましたが分かりませんでした。 ソースは、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>サイト</title> </head> <frameset cols="170, *" border="0"> <frame src="menu" name="menu"> <frame src="main" name="main"> <noframes> <body> このページをご覧頂くにはフレーム対応のブラウザが必要です。 </body> </noframes> </frameset> </html> 宜しくお願いします。

  • 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