ラウンジ(兼FAQ掲示板)

Real_time v.1.0 について
過去ログ NO.1073561481
□ ねっく [2003年12月27日17時28分]
# リアルタイムカウンターの<BODY>設定
$body = '<body text=#000000 bgcolor=#ffffff Background="back.gif">';

# リアルタイムカウンターの<TABLE>設定
$table = "<table bgcolor=#ffffff border=0 cellspacing=0 cellpadding=3>";

というように、Bodyの中で背景に画像をつかうことができたのですが、
Tableの中にも「background="back.gif」を入れたところ、スクリプトエラーが出てしまいました。
これは背景に画像を使えないということなのでしょうか?
□ NXer [2003年12月27日22時19分]
はじめまして。NXerです。

>スクリプトエラーが、、、

エラーを再現してみるため、下記のようにホームページ作成ソフト
でreal_timeの表示を試した見ました。エラーは発生しません
でした。文字通り、「スクリプト・エラー」かもしれません。
変更された文と、下記テストのhtmlソースとを比較してみて
ください。解消されない時は、ラウンジに変更された行を
書き込んでください。

関連スクリプトを引用します。

26 # リアルタイムカウンターの<BODY>設定
27 $body = '<body text=#000000 bgcolor=#ffffff>';
29 # リアルタイムカウンターの<TABLE>設定
30 $table = "<table bgcolor=#fff0f5 border=0 cellspacing=0 cellpadding=3>";

上の初期設定は次のように実行されます。

print "</head>\n$body\n<center>\n";
print "$table<tr><td>\n";
print "<font size=2>現在 $count人の方が、<br>\n";
print "ここを訪れています<br>\@$times</font>\n";
print "</td></tr></table>\n</center>\n";

下は、上のperlスクリプトからprint、二重引用記号や、\n(改行)記号などを
取り除いたhtml文です。(....はインデントの空白の代わりです。)
当方のホーム作成ソフトで表の背景画像を試したものです。
なお、背景画像は、素材集の画像を使って表示を確認しました。

<center>@$times<BR>
<TABLE border="0" cellspacing="0" cellpadding="3" background="blue.gif">
...<TBODY>
......<TR>
.........<TD>
.............<FONT size="2">
...................現在 $count人の方が、<br>
...................ここを訪れています<br>
.............</FONT>
.........</TD>
.......</TR>
....</TBODY>
</TABLE>
</center>
---------------------------------------------------------
■すえぽんさんの初期設定
30 $table = "
<table bgcolor=#fff0f5 border=0 cellspacing=0 cellpadding=3>";

■当方のHPソフトのhtmlソースの設定
<table border="0" cellspacing="0" cellpadding="3" background="blue.gif">
---------------------------------------------------------------
なお、bgcolor=#fff0f5は、背景画像が優先されるようです。色と画像が重なり、
当方は、色指定は無意味と考えて削除しました。perlの場合、各行はセミ
コロン(;)で終わります。
□ ねっく [2004年01月08日16時32分]
background="back.gif"を書き足すと
Script Error
The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run this script under CGIWrap debugging. Usually, either rename or link the script temporarily to a file which ends with .cgid extension, or add a AddHandler cgi-script-debug .cgi line to your .htaccess file.
が出てしまいます。サーバーのほうがわるいのでしょうか。。。
□ NXer [2004年01月08日20時31分]
これは、スクリプトエラーの原因を特定するために作成したcgiスクリプトで
特別な意味はありません。
必要な部分はまとめに書いてあります。時間の都合でまとめをご利用いただけ
れば結構です。

-------------------------------(ここは時間と興味があれば見てください)
#table background images 0108nxer
#初期設定の行、任意の背景画像を指定。画像はcgiファイルと同じ階層にあること。
$table="<table border=0 cellspacing=0 cellpadding=3 background=\"blue.gif\">";
print "Content-type: text/html\n\n";
print "<html>\n<head>\n";
print "<title>table</title>\n";
print "</head>$body\n";
print "ありがとうございました。<br>背景画像cgiテスト無事完了致しました。<p>\n";
print "$table\n";  #ここで画像を表示
print "<tr><td align=right>訪問者数:</td></tr>\n";
print "</body></html>\n";
------------------------------------------------------------
上のcgiスクリプトを実行したhtmlの結果
--------------------------------------------------------
Content-type: text/html

<html>
<head>
<title>table</title>
</head>
ありがとうございました。<br>背景画像cgiテスト無事完了致しました。<p>
<table border=0 cellspacing=0 cellpadding=3 background="blue.gif">
<tr><td align=right>訪問者数:</td></tr>
</body></html>
-------------------------------------------------------------------

まとめ:スクリプトエラーは
------------------------
background="blue.gif"
------------------------
これを書き足されて発生したわけですね。

つまりhtmlで当方が記述したままに、cgiスクリプトで書くとエラーになります。
この点を改善するため、perlのエスケープ記号\を二重引用記号の前につけま
した。これでperlは、\の後の二重引用記号をそのままブラウザに引き渡します。
\は上の結果のようにメタ記号として働き、表示されません。

------------------------
background=\"blue.gif\"
------------------------
これを、実際に表の属性として入れて上で試めした例です。
-------------------------------------------------------------
$table="<table border=0 cellspacing=0 cellpadding=3 background=\"blue.gif\">";
--------------------------------------------------------------

当方は、このカウンターを設置していないため、cgiそのものの動作確認は
していません。この考えが合理的なものでしたら、また、よろしかったら
お試しください。もちろん、不具合発生の危険は、そちらの責任ということ
でよろしく。
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2009 suepon , All rights reserved. Powered by CGI Script Market.