はじめまして。私は学生で超のつく初心者なのですが、課題で掲示板を作っています。
基本的な表示はなんとかうまくいったのですが、よくある、文字色を選択して好きな色で文章(コメント)を表示させるプログラムがわかりません。
if文を使うパターンではなく、色の情報を書き込み、ファイルからデータを読み込むやり方でできるらしいのですが、どうやって書いたらよいのでしょうか・・・。
ちなみにhtml表示部分に、色の指定はしてあり、赤、青、緑、黄色でvalueはred,blue,green,yellowにしています。
下に書き込みと読み込みの部分を乗せたのですがどう入れたらいいでしょうか。
本当に初心者だし分かっていないので説明もわかりにくくてすいません。もしどなたか分かる方いたらよろしくお願いします。
#------------------------------------------------------------
# 登録データ書き込み処理
#------------------------------------------------------------
sub writeData() {
# $DATAFILEをオープンする
open(FILE, ">> $DATAFILE") or die("error:$DATAFILE open error!");
eval{ flock(FILE, 2); };
$timestr = &getTimestr();
$in{'comment'} =~ s/\n/<br>/g;
print FILE "$in{'namae'},$in{'dai'},$in{'comment'},$timestr,";
close(FILE);
}
#------------------------------------------------------------
# 登録データ読込み処理
#------------------------------------------------------------
sub readData() {
# $DATAFILEをオープンする
open(FILE, "< $DATAFILE");
eval{ flock(FILE, 2); };
while(<FILE>){
chomp;
$line[$cnt++] = $_;
}
close(FILE);
}
No.2ベストアンサー
- 回答日時:
Perl/CGIでしたら多少お力添えできそうです。
color情報をデータに書き込み、読み込むときにそのデータを取り出してタグの内部に利用してやれば良いかと思います。
主に読み込み時に一度配列にファイル内容を取り込み
その後、split関数でデータを分けてtemp_dataという一時的な配列に格納、それを出力。みたいな感じでいかがでしょう。
動作テストしてないので動かないかもしれませんが、考え方の手助けになれれば幸いです。
HTML
<form action="XXX.cgi" method="post">
NAME<input type="text" name="name" />
TITLE<input type="text" name="dai" />
<textarea name="comment">Please Type Any Comment!</textarea>
COLOR
red<input type="radio" name="color" value="red"/>
blue<input type="radio" name="color" value="blue"/>
green<input type="radio" name="color" value="green"/>
<input type="submit" value="書き込み">
</form>
とでもして
CGI側
#書き込み処理
#------------------------------------------------------------
# 登録データ書き込み処理
#------------------------------------------------------------
sub writeData() {
# $DATAFILEをオープンする
open(FILE, ">> $DATAFILE") or die("error:$DATAFILE open error!");
eval{ flock(FILE, 2); };
$timestr = &getTimestr();
$in{'comment'} =~ s/\n/<br>/g;
print FILE "\n$in{'namae'},$in{'dai'},$in{'comment'},$in{'color'},$timestr,";
#↑不要だったら先頭の\n消してください
close(FILE);
}
# ファイル読み込み
sub readData() {
my @file_data=();
my @temp_data=();
# $DATAFILEをオープンする
open(FILE, "< $DATAFILE");
eval{ flock(FILE, 2); };
@file_data = <FILE>;
close(FILE);
foreach(@file_data){ #@file_dataを元に一行毎に処理させます
@temp_data = split(/,/);
print "$temp_data[1] (by $temp_data[0] / $temp_data[4]) : <div style=\"color:$temp_data[3]\">$temp_data[2]</div>\n";
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別formのhidden項目を自form値...
-
複数ボタンのvalueを送れない
-
CGIで得た内容をHTMlページに代入
-
チェックボックスの返す値
-
チェックボックスでのvalue値の...
-
Error: No Recipient というエ...
-
フォームの入力内容の後ろに文...
-
ラジオボタンが両方とも選択で...
-
wordの数式について 定積分を書...
-
INPUT TYPE
-
WEBページを強制的に横画面で見...
-
EXCELとの連携
-
VB初心者。小数点以下の表示で...
-
「value」に2つの値をセットす...
-
[HTML]プルダウンメニューの横...
-
サーバーのテキストファイルを...
-
UTF-8で文字化けしないようにす...
-
MSPゴシックで、一番幅を取る文字
-
チェックボックスグループの一...
-
シングルコーテーション(')と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスの返す値
-
別formのhidden項目を自form値...
-
チェックボックスでのvalue値の...
-
チェックボックスで選択した内...
-
Error: No Recipient というエ...
-
python subprocessに関する質問
-
CGIでチェックボックスを使...
-
CGIに渡しているパラメータを表...
-
掲示板の文字色指定について
-
hiddenで送ったデータの取り出し方
-
CGIで書き出したJavaScriptの動...
-
ランキング作成
-
クリップボードに記憶した文字...
-
フォームの内容を確認するペー...
-
CGIフォームから飛ばすメールで...
-
アンケートフォームで前のペー...
-
CGIフォームから飛ばすメールが...
-
VBAでWEBもっと見るを押して...
-
検索フォーム設置時のnameの文...
-
フォームの入力内容の後ろに文...
おすすめ情報