現在CGIの勉強を行っているのですが、
以下の点がうまくいかなくて困っています。
-----------HTML(例)------------------
投稿名 :[ SAMPLE ]
TITLE :[ SAMPLE1 ]
TEXTAREA :[ aaaaaaaa
_____________bbbbbbb]
[投稿][リセット]
-----------サブフレーム(bbs.cgi)-----
投稿名:[ SAMPLE ]
TITLE :[ SAMPLE1 ]
TEXTAREA :[ aaaaaaaa
_____________bbbbbbb]
-------------------------------------
1.HTMLの方で投稿(サブフレーム形式)
2.BBS.CGIで処理を行う
3.TEXTAREAで改行を行って投稿した際の処理
(ここで投稿した際に別投稿として掲載されてしまいます。)
*ソース
#!/usr/local/bin/perl
use CGI;
#外部データの取得
$q = new CGI;
#外部データの受取処理
$Name1 = $q->param('name');
$Name2 = $q->param('title');
$Name3 = $q->param('url');
$Name4 = $q->param('txt');
@FILE_FOR;
$count=0;
print "Content-type: text/html; charset=Shift_JIS \n\n";
#書き込み
if($Name1 ne "" && $Name2 ne "" && $Name3 ne "" && $Name4 ne ""){
open(FH,">>log.dat");
print FH "$Name1,$Name2,$Name3,$Name4\n";
close(FH);
}
#読み込み
if(!open(FH,"log.dat")){
print "読み込みに失敗しました。\n";
}else{
$F=0;
foreach my $line (<FH>){
@FILE_FOR[$F] = $line;
$F++;
}
}
close(FH);
#結果表示
if($F ne 0){
for($Y=$F;$Y > 0;$Y--){
$C = $Y;
@BOX = split(/,/ ,$FILE_FOR[$Y - 1]);
print "<CENTER>";
print "<HR><TABLE BORDER=2><TR><TD>No.$C</TD></TR>";
print "<TR><TD>投稿者:</TD><TD>@BOX[0]</TD></TR>";
print "<TR><TD>投稿タイトル:</TD><TD>@BOX[1]</TD></TR>";
print "<TR><TD>URL:</TD><TD><a href=@BOX[2]>@BOX[2]</a></TD></TR>";
print "<TR><TD>内容:</TD><TD><B>@BOX[3]</B></TD></TR></TABLE><HR>";
print "</CENTER>";
}
}else{
print "現在は未投稿です。";
}
No.1ベストアンサー
- 回答日時:
以下のような変更で所望の結果は得られるでしょうか?
use CGI;
↓
use CGI qw(escapeHTML);
$Name4 = $q->param('txt');
↓
$Name4 = $q->param('txt');
$Name4 =~ s/\n/\0/g;
@BOX = split(/,/ ,$FILE_FOR[$Y - 1]);
↓
@BOX = split(/,/ ,$FILE_FOR[$Y - 1]);
for my $item (@BOX) {
$item = escapeHTML $item;
$item =~ s/\0/<br>/g;
}
ご回答ありがとうございます。
上記の通りに変更してみたところ思った通りの結果になりました。
escapeHTMLというものを使うのですね。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
結果を得て自動的にページ移動...
-
shift-jisからutf8に変換
-
Perl CGIの中で # を使ってコメ...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
16進の10進変換について
-
文字の横にプルダウンを表示さ...
-
formで特定のinputを送信しない...
-
回数を指定しないで空白行まで...
-
問題作成のWebアプリの作り方を...
-
ACCESS テキストボックスを隙...
-
子windowsからsubmit()後にclos...
-
pythonで演算子を変数に代入す...
-
FindFirst を複数条件で検索
-
【至急!!!】python言語で本を見...
-
<SELECT>タグの折り返し
-
構造体の各データの表示につい...
-
【C#】数値の範囲チェックについて
-
C言語のflagの使い方が分かりま...
-
VBAでPDFのコピーとリネームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
my $html<<EOMの意味を教えてく...
-
malformed header from script....
-
結果を得て自動的にページ移動...
-
Perl CGIの中で # を使ってコメ...
-
パソコン → パャRン
-
shift-jisからutf8に変換
-
CGIから出力される文字が化けて...
-
フリーCGI ラジオボタンの改行...
-
テキストエリアにテキストファ...
-
HTMLのファイルにCGI処理結果を...
-
アクセス人数制限CGIについて。
-
初歩的なCGIですが その2
-
PerlでDBIを使いますが、結果セ...
-
ランダムに背景画像を変える方法。
-
Perlでの数字の12桁化
-
Pythonを用いてCGIを作る勉強を...
-
cgiでのデータ受信
-
CGIファイルを参照制御でき...
-
テキストエリアの改行表示
-
テキストファイルの読み込み
おすすめ情報