![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (12件中1~10件)
- 最新から表示
- 回答順に表示
No.12
- 回答日時:
<を<とするのは、Perlの仕様ではなくて、HTMLの仕様です。
ですから、HTMLのソースコードに、
<tr>
と書くと(または書いてあると)、
ブラウザの画面には、
<tr>
と表示されるわけです。
逆に、HTMLのソースコードに
<tr>
なんて書いてあったら、それこそHTMLとして解釈されて、テーブルが崩れるはずですが....
<とかくと<と表示されて、でもタグにはならないんですね!
ちょっとひとつ利口になりました。
今までタグを表示させる時にはtextareaを使用していました。
No.11
- 回答日時:
出力さえされないってのは変ですなぁ。
ひとまず、こちらで再現してみないと問題点が指摘できないんでぇ、
サンプルのデータファイル(の一部)と、
表示を担当しているコードの一部を書いていただけませんか?
可能性ばかり論じていても収拾つきそうにありませぬ。
この回答への補足
●表示用
open FILE, "<log.log";
flock(FILE,2);
@log = <FILE>;
flock(FILE,8);
close FILE;
$gyou = @log;
for ($i=0;$i<$gyou;$i++){
# 日付順
@sort2 = sort{(split(/&/,$b))[1] cmp (split(/&/,$a))[1];} @log;
$sort2[$i] =~ s/"/"/g;
print "<TABLE>\n";
print "<TR>\n";
@log_data = split(/%/,$sort2[$i]);
foreach (@log_data){
($key,$value) = split(/=/,$_);
$FORM{$key} =~ s/</</g;
$FORM{$key} = $value;
$FORM{$key} =~ s/%3D/=/g;
$FORM{$key} =~ s/</</g;
$FORM{$key} =~ s/>/>/g;
$FORM{$key} =~ s/%3c/</g;
$FORM{$key} =~ s/%3e/>/g;
$FORM{$key} =~ s/%2d/-/g;
}
print "<TD WIDTH=80><font color=deeppink>♥</font><font color=deeppink>♡</font>$FORM{'DATE'}</TD>\n";
print "<TD WIDTH=550><A HREF='search.cgi?KEY=$FORM{'SEARCHKEY'}'>$FORM{'TITLE'} [$FORM{'TIME'}]</A></TD>\n";
} #for
こんな感じになってます。
●書き込み用
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
$buffer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$buffer =~ s/"/"/g;
$buffer =~ s/</</g;
$buffer =~ s/>/>/g;
$buffer =~s/\r\n/<BR>/g;
$buffer =~s/\r/<BR>/g;
$buffer =~s/\n/<BR>/g;
$buffer =~ tr/+/ /;
$buffer =~ s/'/\'/g;
$buffer=~ s/
//g;
foreach $pair (split(/%/,$buffer)){
($name,$value) = split(/=/, $pair,2);
$value =~ tr/+/ /;
$FORM{$name} = $value;
$FORM{$name} =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} =~ s/"/"/g;
$FORM{$name} =~ s/</</g;
$FORM{$name} =~ s/>/>/g;
$FORM{$name} =~s/\r\n/<BR>/g;
$FORM{$name} =~s/\r/<BR>/g;
$FORM{$name} =~s/\n/<BR>/g;
$FORM{$name} =~ tr/+/ /;
$FORM{$name} =~ s/'/\'/g;
$FORM{$name} =~ s/
//g;
$TITLE = $FORM{'TITLE'};
$DATE = $FORM{'DATE'};
$NAKAMI = $FORM{'NAKAMI'};
$WORD = $FORM{'WORD'};
}
open(FH,">>log.log");
print FH "TITLE=$TITLE%DATE=$DATE%NAKAMI=$NAKAMI%TIME=$year/$mon/$day $hour:$min:$sec%SEARCHKEY=$year$mon$day$hour$min$sec\n";
close(FH);
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?e8efa67)
No.10
- 回答日時:
>勝手に=と&で設定されてるんでしたっけ?
>これを=と%にするにはどのような設定が必要なんでしょうか?
設定云々の前に,「=」と「&」以外にできませんね。
<input type="hidden" name="field1" value="1234">
<input type="hidden" name="field2" value="5678">
(↑このソースは間違っている可能性もあります)
とした場合,送られるデータは
field1=1234&field2=5678
として送られます。これはHTTPの仕様だと思いますので,CGI作成者が設定できるものではないです。
ちなみに,半角スペースは「+」となります。ご参考までに。
回答ありがとうございます。
そうですかー。
やっぱり無理なんですね…。
やったことないなぁとは思いましたが。。
+と'は以前に指摘されて覚えていました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?e8efa67)
No.9
- 回答日時:
>ログファイル記述時に&は使わない方がベストなのでしょうか?
それはKODAMARさん次第です。同じ1つのことを実現するにしても,プログラムを書く人によって違いますから。
ですから,KODAMARさんが「&」を使わないほうがいいと思うなら使わないほうがいいです。使わないなら使わないなりに自分でプログラムを書いてください。
掲示板はPerlの参考書などを見ながら作られていますか?
でしたら掲示板のプログラムも載っていると思います。それを見てログの保存,読み込み,表示をどのように処理しているか見てみてください。
以前の質問で,解読するのも難しいと書かれていましたが,ある程度プログラムが読めないとプログラムを書くのは結構難しいと思いますよ。
何事も覚えるには "読み・書き" が大事!!(^^;)
回答ありがとうございます。
どーしても&だとうまくいかなそうなので、%を使ってやってみようかなーと思い出したところです。
たまには変えてみて、いつも「当たり前」だったことを復習してみるのもいいかと。
早速つまづきましたが(笑)
フォームのデータって何も設定しないと、勝手に=と&で設定されてるんでしたっけ?
これを=と%にするにはどのような設定が必要なんでしょうか?
よくよく考えたらやったことありませんでした。
掲示板は今までの自分なりに蓄積した概念と、途切れ途切れのコードを組み合わせてつくってます。
説明書などは、その途中でちょこっと見たりする程度で、流れは自分なりに考えてつくってますので、
一般論からすると、おかしな流れやコードになってると思われます。
これが完成し、無事動くようになったら、書籍を見て、プロが書くコードと照らし合わせてみようと思っています。
No.8
- 回答日時:
> というように=と&で行っているので、<>で誤動作は考えにくいのですが。
。<や>には&が含まれていますけど、処理上に問題はないですか?
とりあえず、「HTMLソースに問題あり」というのがはっきりしたので、
そこからまた新たな手がかりが見えてくるかと。
この回答への補足
追加です。
表示用のcgiファイルでは、<などは勝手に表示される、とのことで消したのですが…
<B>テストです。
あー。
と入力して、表示させたのですが、何も表示されません。
ソースにも表示されません。
ログファイルを開くと、
<B>テストです。<BR>あー。
と入っているので、入力はきちんと行われているようです。
なぜ<や>は表示されないのですか?
すいません、思い出しました。
<などには&が使われているから強制的に<に戻そうと思ってcgiかいたことを…。
ログファイル記述時に&は使わない方がベストなのでしょうか?
No.7
- 回答日時:
> ソースの方をみてみても、同じくその後は入力されていません。
> …ということは<TR>のタグが原因ではないですね…スイマセン。
まったくの勘ですが、ログのセパレータに<>なんかを使っていてばっさり削除されてしまったとか?
(もうすこし情報がないとなんともいえません)
・・・で、ちょっと気になったのが、
フォームへ入力したタグが、そのままタグとして機能してしまうのは、
レイアウト崩れよりもセキュリティとして大問題なので注意したほうがよいですよ。
> <TR>などのタグをタグとしてではなく、単なる「<TR>」という文字として表示させるためには
> TEXTAREAしか方法はないのでしょうか?
<textarea></textarea>で囲まれた部分はタグとして機能しませんのでそのまま表示されますが、
こんな感じ↓でフォームへ入力されたら危険です。
</textarea><span style="font-size:100px;">巨大</span>
参考URL:http://www.atmarkit.co.jp/fsecurity/special/30xs …
回答ありがとうございます。
今つくっているのは私以外誰も使うものではないのでセキュリティは気にする必要はなく、楽なんですが…。
(公開するものはタグ禁止にします。)
ログファイルの書き込みは
1つめのタイトル(表記名)=1つめのデータ&2つめのタイトル…
というように=と&で行っているので、<>で誤動作は考えにくいのですが。。
No.6
- 回答日時:
気になっていたのですが、あなたの言う表示ってどれのことですか?ブラウザでの表示?それともブラウザでいう「ソース」での表示?
それぞれ意味が違いますのでそれをはっきりさせましょうや。
で、ブラウザでの表示に関する場合は、「ソース」をブラウザがHTMLなどとして解釈した結果ですので、本来ココで問題になるべきは、「ソース」でしょう?
下でお聞きの、「<tr>の後から表示が無い」ってのもソースには出力されているのですか?結構重要なことだと思いますよ。
回答ありがとうございます。
表示がされない、と言っている「表示」は「ソース」のことです。
混乱させてすいません。
ソースの方をみてみても、同じくその後は入力されていません。
…ということは<TR>のタグが原因ではないですね…スイマセン。
これは何が原因かおわかりになりますか?
No.5
- 回答日時:
>今の状態では<が<に、>が>に表示されるようになってます。
どうも、この作業が、余計っぽいです。
HTMLのソースに「<」があれば、ブラウザが自動的に「<」に見せてくれるんです。
なので、<を、変換せずに、そのまま出力すればいいかと。
つまり、テーブルの中に
「たとえばテーブルのタグには<TR>などがあります。」
と書きたいのなら、CGIの出力として、
<TR><TD>たとえばテーブルのタグには<TR>などがあります。</TD></TR>
とすればいいはずです。
回答ありがとうございます。
<や>の変換記述は削除しました。
Print #FNO, "<TR>" (ログファイル抜粋)
という文字なんですが、
実際は
Print #FNO, "<TR>"
と表示される予定ですが、
Print #FNO, "
までしか表示されません。
この後にも文章が続くのですが、それも全部表示されません。
そこでタグだからかな?と思ってたんですが、違うんですかね?
これを表示させるにはどうしたらいいのでしょうか?
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?e8efa67)
No.4
- 回答日時:
selene_plさんの書かれたとおりでできます。
CGIが書き出すHTMLソース上で「<TR>」とすれば,HTMLの表示上は<TR>となりますので。
例を示すと…
<TR><TD>たとえばテーブルのタグには<TR>などがあります。</td></tr>
↓表示結果
たとえばテーブルのタグには<TR>などがあります。
となります。
>今の状態では<が<に、>が>に表示されるようになってます。(ログファイル呼び出し時)
となっていますが,これはHTMLソースを書き出すときにこの変換作業をしているのですか? でしたらこれは必要ないです。上の例が示すとおり,変換作業無しに「<TR>」と表示することできます。
知りませんでした。
今まで無駄なことをかいてたんですね~。
Print #FNO, "<TR>" (ログファイル抜粋)
という文字なんですが、
実際は
Print #FNO, "<TR>"
と表示される予定ですが、
Print #FNO, "
までしか表示されません。
この後にも文章が続くのですが、それも全部表示されません。
そこでタグだからかな?と思ってたんですが、違うんですかね?
これを表示させるにはどうしたらいいのでしょうか?
No.3
- 回答日時:
> 今の状態では<が<に、>が>に表示されるようになってます。
(ログファイル呼び出し時)> ただコレですと、例えば今はテーブルでログファイルの表示のレイアウトを作っているんですが、いきなり<TR>とか出たらそこでテーブルのレイアウトが崩れてしまいますよね?
>や<は、htmlで表示時には自動的に、
単なる文字としての「>」「<」として表示されるだけなので
タグと認識されないので、テーブルは崩れないと思います。
もし心配でしたら、ログに保存するときは<TR>のような形のままにして、
ログファイル読み込み時に「<」を「<」に「>」を「>」に変換して、
テーブル内に表示していけばどうでしょう?
>や<はわざわざ変換しなくていいんですね!
知りませんでした。
早速変換させてたところを消してみました。
ですがやはりできない…。
Print #FNO, "<TR>" (ログファイル抜粋)
という文字なんですが、
実際は
Print #FNO, "<TR>"
と表示される予定ですが、
Print #FNO, "
までしか表示されません。
この後にも文章が続くのですが、それも全部表示されません。
そこでタグだからかな?と思ってたんですが、違うんですかね?
これを表示させるにはどうしたらいいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- ヤフオク! ヤフオクに出品したいのですが、タグを実行出来ません。 2 2022/09/16 12:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
openした後、closeしないでプロ...
-
perlのrequireの動き方について...
-
perlをバージョンアップしたら...
-
INDIRECT 横に再度抽出したい
-
PerlでUTF-8のファイルの文字列...
-
Perlで時間の計算
-
テキストファイルで提出とは?
-
perl 正規表現でエラー
-
perl 初等プログラミングについて
-
Perlで、「が」を、「...
-
Perlのエラーについてご教授く...
-
perlで2次元配列をサブルーチ...
-
Wallpaper Engineでおすすめの...
-
Perlで縦横変換のような事をし...
-
perlの記述方法について
-
ファイルをディレクトリ分配の...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数タグ指定してHTMLを取得したい
-
リストマークの位置がずれてい...
-
面白いタグ
-
キーボードの2(ふ)のキーに...
-
コンボボックスのリスト行数を...
-
■ <table><tr><td>~~ を表...
-
CGIフォーム、タグの表示につい...
-
HTMLコード内に、コード各部の...
-
「タグ」って・・・??
-
HTMLでぶら下げインデントは出...
-
ホームページビルダーで作った...
-
<FONT TITLE=××>...
-
どちらのHTMLタグがいいのですか?
-
携帯サイトを作っているのです...
-
文字列をそろえて、かつ全体を...
-
今後、使用を避けたほうがいいH...
-
歌詞のコピーライトについて
-
ホームページの文字点灯
-
HTMLで、2行目以降をほぼ1字下...
-
ユーザーフォームの表示を追加...
おすすめ情報