KENT-WEB サポートコーナー 過去ログ [ 0071 ]


記事No: 15876
投稿日: 2018/05/03(Thu) 13:19:31
タイトルCAPTCHA-MAILのスタイルシートの呼び出し方法
ID情報: kayo123
投稿者: かよ
URLhttp://www.kent-web.com/mail/captmail.html

先日は大変お世話になりました。現在 CAPTCHA-MAIL Ver: 2.01の設置を試みています。

無事設置まではこぎつけましたが、スタイルシートが反映せず、どうしてもうまくいきません。ご助言をいただけないでしょうか。

設置しようとしているスクリプトは以下にあります。

http://park00.wakwak.com/~xxxx/cgi-bin/captmail/captmail.cgi


プロバイダは「wakwak」でCGIを設置することについての注意事項は以下です。
https://www.wakwak.com/support/g_homepage/cgi_custom.html

「wakwak」はスタイルシートをcgi-binフォルダからは呼び出せません。「public_html」にスタイルシート(style.css)を置く場合どこを書き換えれば呼び出せるのかわからず、

試してみたことは

1つ目

単純にinit.cgiがある場所にstyle.cssを置く。他は書き換えを一切しない。

2つ目

http://park00.wakwak.com/~xxxx/captmail/tmpl/
をpublic_html内に置き、

その中にstyle.cssを設置しました。

http://park00.wakwak.com/~xxxx/cgi-bin/captmail/init.cgi
136行目を以下のように修正しました。

136行目
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = '/public_html/captmail/tmpl';


しかしながら、captmail.cgiを呼び出すとスタイルシートは1つ目、2つ目ともに読み込まれていません。

またcheck.cgiでは以下のNGが出ています。

・Image::Magick : NG

こちらは以前した質問で画像認証の問題で画像認証用の画像は教えていただいた通り、cgi-binフォルダに置いても動作が確認できており解決済みであります。

メールはすでに1つ目、2つ目どちらで設置をしても送信確認はできております。

ご教示下さいましたら幸いです。


記事No: 15877
投稿日: 2018/05/03(Thu) 14:48:46
タイトルRe: CAPTCHA-MAILのスタイルシートの呼び出し方法
ID情報: teketen
投稿者: てけてん

テンプレートファイルを修正して下さい。
スタイルシートへのパスは、captmail.cgiから見た相対パスか、http://からのアドレスで指定して下さい。

また、テンプレートファイルは、cgi-binの中に格納しても構いません。
テンプレートファイルは、CGIスクリプトが読み込み表示するので、直接ブラウザでアクセスするものではないからです。
(なので、テンプレートファイルに記述するスタイルシートや画像などへのパスは、captmail.cgiから見たものとなります)
cgi-binに格納してはいけないファイルは、CGIスクリプト以外の直接ブラウザでアクセスするファイル(htmlファイル、画像ファイル、外部スタイルシート、外部JavaScript等)です。
ただ、init.cgiの設定で、テンプレートファイルを格納するディレクトリを
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = '/public_html/captmail/tmpl';
のように変更されていれば、public_html内に格納されていても大丈夫です。


記事No: 15878
投稿日: 2018/05/03(Thu) 16:25:07
タイトルRe^2: CAPTCHA-MAILのスタイルシート呼び出し
ID情報: kayo123
投稿者: かよ

大変お世話になっております。早速のご丁寧なお返事をありがとうございます。

まずは以下のようにファイルを設置しなおしました。
(メールの送受信確認済みになります)

http://park00.wakwak.com/~xxxx/cgi-bin/captmail/captmail.cgi

cgi-bin /
  |
  +-- captmail / captmail.cgi [705]
      |   captcha.cgi [705]
      |   check.cgi [705]
      |   init.cgi [604]
      |
      |
      +-- lib / *.pm
      |  | *.pl
      |  |
      |  +-- Jocde / *.pm
      |  +-- Unicode / *.*
      |  +-- CGI / *.*
      |  +-- GD / *.*
      |  | +-- SecurityImage / *.pm
      |  +-- Crypt / *.pm
      |
      +-- data / log.cgi [606]
      |
      +-- bin / *.png
           *.ttf


public_html /
   |
   +-- captmail /
      |
      +-- tmpl / mail.txt
           reply.txt
           form.html
           conf.html
           thanks.html
           error.html
           style.css←スタイルシートもここへ

http://park00.wakwak.com/~xxxx/captmail/tmpl/
こちらにテンプレートファイルを格納しました。

次に教えてくださったように

init.cgiの136行目を書き換えました。
> # テンプレートディレクトリ【サーバパス】
> $cf{tmpldir} = '/public_html/captmail/tmpl'

以上をひとまず修正してみましたが、
スタイルシートが反映できずにおります。

もう一つ、

修正するテンプレートファイルは
tpmlに格納されている以下のファイル

・form.html 初期入力フォーム
・conf.html 入力内容確認画面
・thanks.html 送信完了画面
・error.html エラー画面

こちらをそれぞれ開き

<link rel="stylesheet" href="style.css" type="text/css" media="all" />

と書かれている箇所を

<link rel="stylesheet" href="http://park00.wakwak.com/~xxxx/captmail/tmpl/style.css" type="text/css" media="all" />

のように書き換えたのですが反映できず困っております。呼び出し方やパスの書き方が間違っているかも判断できず

一度すべてのファイルの場所と書き換えた場所を書き直してみました。引き続きお教えくださいますと幸いです。


記事No: 15879
投稿日: 2018/05/03(Thu) 17:32:38
タイトルRe^3: CAPTCHA-MAILのスタイルシート呼び出し
ID情報: teketen
投稿者: てけてん

<link rel="stylesheet" href="http://park10.wakwak.com/~kayo/captmail/tmpl/style.css" type="text/css" media="all" />

http://park10.wakwak.com/~kayo/cgi-bin/captmail/captmail.cgi
のページのソースを見ると
<link rel="stylesheet" href="style.css" type="text/css" media="all" />
となっており、変更されていません。
書き直したテンプレートファイルなど、init.cgiに指定した場所にアップロードされましたか?
また、
http://park10.wakwak.com/~kayo/captmail/tmpl/style.css
ここにstyle.cssがありません。
というか、他のテンプレートファイルも
http://park10.wakwak.com/~kayo/captmail/tmpl/form.html
Not Foundになっていますね。
でも、check.cgiでは

> テンプレート ( conf.html ) : パスOK
> テンプレート ( error.html ) : パスOK
> テンプレート ( thanks.html ) : パスOK
> テンプレート ( form.html ) : パスOK
> テンプレート ( mail.txt ) : パスOK
> テンプレート ( reply.txt ) : パスOK

ですもんね。
う〜む。

では、始めからやり直してみましょう。
サーバー上の今アップロードしているcaptmail関連のものは、一旦全て削除して下さい。
もう一度、CAPTCHA MAILをダウンロードして下さい。
解凍したcaptmailフォルダ内に、

dataフォルダ
libフォルダ
tmplフォルダ
captcha.cgi
captmail.cgi
check.cgi
init.cgi
style.css

が有ると思います。
この中で、style.cssのみpublic_htmlに移動させて、他はcgi-binにcaptmailフォルダごとアップロードします。
スクリプトは、http://park10.wakwak.com/~kayo/cgi-bin/captmail/captmail.cgi
スタイルシートは、そうですね。あまり階層が深いのも何なので、
http://park10.wakwak.com/~kayo/captmail/style.css
(public_html/captmail/style.css)
にアップロードされれば良いと思います
テンプレートファイルのスタイルシートのパスは、style.cssをアップロードした場所に変更します。
<link rel="stylesheet" href="http://park10.wakwak.com/~kayo/captmail/style.css" type="text/css" media="all" />

init.cgiの設定も変更して下さい。
その際、
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = './tmpl';
は、変更せずにこのままで。


記事No: 15881
投稿日: 2018/05/03(Thu) 18:31:12
タイトル解決しました
ID情報: kayo123
投稿者: かよ

お世話になっております。

1.一旦すべてサーバーから削除
2.再ダウンロード

===
1.init.cgiのメールアドレスの部分だけ書き換え

init.cgiの81行目
# 送信先メールアドレス
$cf{mailto} = 'xx@xx.xx'

2.tpmlに格納されている以下のファイル

・form.html 初期入力フォーム
・conf.html 入力内容確認画面
・thanks.html 送信完了画面
・error.html エラー画面

こちらをそれぞれ開き

<link rel="stylesheet" href="style.css" type="text/css" media="all" />

と書かれている箇所をそれぞれ以下に書き換え

<link rel="stylesheet" href="http://park00.wakwak.com/~xxxx/captmail/style.css" type="text/css" media="all" />

3.public_htmlにcaptmail/style.cssを設置

4.cgi-binにcaptmailフォルダをアップロード、パーミッションそれぞれ変更

以上で無事captmailが送受信でき、スタイルシートも反映されました。この度は誠に根気強くご丁寧に優しく教えて下さりありがとうございました。


[検索ページ]