アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1225153

でフローチャート式のフリーcgiをご紹介頂きました。
データも流し込んでうまく動くようになりました。
このファイルはdataファイルが別にあり
$datfile = './heart_sm.dat';
のように定義してから呼び出すタイプです。

別ウィンドウで小窓として表示したいので
スクリプトを書き無事動作確認できました。

問題1
結果文が長いので流し込んだテキストの大きさを
変えたいのですが、枠や周りの大きさは
変わるのですが、中の流し込んだテキストは
大きさがかわりません。大きさを変えるには
どうすれば良いでしょうか?

問題2
結果文にリンクを張って親ウィンドウに
戻したいのですが、単純にdatfilesに
ハイパーリンクを書き込んだだけでは
認識してくれません。
良い方法はありませんか?

長いのでデータを読み込むときを
抜粋して書き込みます。
よろしくお願いします。

#---------------------------------------------------------------
sub read_data{
#データファイルの読み込み
open(FILE,"$datfile") or error("データファイルが開けません。");
@data = <FILE>;
close(FILE);
for(@data){
chomp;
next if(/^#/);
@data_line = split/<>/;
$data_no =$data_line[0];
if($data_no eq $Now_no){$find = 1; last}
}

if($find){
@data_type = split(/:/,$data_line[1]);

if($data_type[0] eq "a"){
$mess1 = $data_line[3];
$Yes_no=@data_type[1];
$No_no=@data_type[2];
out_put1();

} elsif ($data_type[0] eq "b") {
$mess1 = $data_line[3];
$Next_no=@data_type[1];
out_put2();

}else{
log_write();
result_print();
}
}
}

A 回答 (4件)

データの変更ではなくCGIの変更で行ってください。


1の回答
cgiの結果文(提案)の所で
<P>$mess1
に<p><font size=2>$mess1</font>
にすればタグ内のサイズが指定出来ます。

2の回答
先の行に
<br>
<A HEF="http://***" TARGET="_top"><font size=3>戻る</font>
で下に張り付けすれば良いのでは?
    • good
    • 0
この回答へのお礼

教えてくださってありがとうございます。
助かりました!!
1については出来ました。

2なんですけど、回答パターンが複数あって
その先のhtmlが回答別に違うものを作りたいんです。
難しいですよね?
とりあえずはフッターの部分にリンクを設定して
パターン別の一覧を出せばいいかと単純に
考えてます。

お礼日時:2005/03/08 15:16

#1~3です。


訂正
$link=$date_line[4];
でした。

得意な分野でないので、自信ありません。^^;
    • good
    • 0
この回答へのお礼

なんとか出来ました!!ありがとうございました。

お礼日時:2005/03/30 14:06

データに追加とは、heart.datファイルの


34<>b:15<>10:原因No.34:診断結果No.34<> メッセージNO.34<>a(ここ)
に追加することです。
34の結果表示にaを返して
その列を$linkと定義し呼び出し
sub out_put2{ の所に
<P>$mess1
</TD></TR>
</TABLE><BR>
<A HEF="../$link.html" TARGET="_top"><font size=3>判定は?</font>
を追記する方方法です。
bでおしまいであれば、上の方法として
if($data_type[0] eq "a"){
$mess1 = $data_line[3];
$Yes_no=@data_type[1];
$No_no=@data_type[2];
$link=@date_line[4];
となるかも

ソース見ただけなので実際よくわかりません><
ごめんなさい。
    • good
    • 0
この回答へのお礼

こんにちは。いろいろとアドバイス
ありがとうございます。
結果表示はbでおしまいにする方法なので

34<>b:15<>10:原因No.34:診断結果No.34<> メッセージNO.34<>a $link
と書いて
sub out_put2{ の所に
<P>$mess1
</TD></TR>
</TABLE><BR>
<A HEF="../test.html" TARGET="_top"><font size=3>判定は?</font>
を追加し、さらに
提案の所に
if($data_type[0] eq "a"){
$mess1 = $data_line[3];
$Yes_no=@data_type[1];
$No_no=@data_type[2];
$link=@date_line[4];
を追加したんですが、
ページが表示できませんでした。
if~の文は追加する場所によって動かなく
なるってことはありますか?
何度もすみません。

お礼日時:2005/03/17 10:46

#1です。


okwebが重すぎてうまく書き込めないですが、
2の方法としては
データベースの区切りが<>で有るため、タグを書き込めないと言う所に有るようです。

@data_line = split/<>/;

@data_line = split/\,/;
に変更して、データベースの区切りを,(カンマ)にし、結果文の最後に
<A HEF="http://***" TARGET="_top"><font size=3>判定は?</font>を追加するとか出来ないでしょうか?
すごく自信有りません。
他にはデータにもう一つデータを追加し、タグ$linkで呼び出す方法も有りますが。
とにかくがんばってください。
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみません。とりあえず<>を,に変えてみたんですけどやっぱり認識しないみたいです。タグ$LINKで呼び出す方法っていうのはdatファイルをもう1つ作ってとかそんな感じなんでしょうか?
質問ばっかりですみません。

お礼日時:2005/03/15 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!