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


記事No: 7669
投稿日: 2010/07/11(Sun) 12:38:29
タイトルClipmailのOperaでの動作
ID情報: kuzumin
投稿者: 穂積
URLhttp://orange.s206.xrea.com/apply/

お世話になっております。
Clip MAIL v1.1の設置を試みております。

一部改造し、設置し、IE/FireFox/Chromeでは問題なく動作しました。
しかしOpera(ver9.62)でだけ、確認画面へいこうとすると、必須項目に入力済みであるにも関わらず、
「○○は必須入力です」とエラーページが表示されて先へ進むことができません。

入力していても必須入力チェックにひっかかってしまうのは以下の項目です。

・代表者名
・代表者名かな
・申込ジャンル
・申込カプ

ちなみに、過去ログなどを参考に以下の部分を改造しました。

clipmail.cgi94行目から以下を追加
-----------------------------------------------------------
#ジャンル入力チェック 

if ($in{'申込ジャンル'} eq 'その他') {
if ($in{'その他ジャンル詳細'} eq '') {
&error("その他ジャンル詳細が入力されていません");
}
}

#リンク選択チェック ←改造

if ($in{'URL'} ne '') {
if ($in{'リンク'} eq '') {
&error("サイトへのリンク可/不可が選択されていません");
}
}
-----------------------------------------------------------
※上:ジャンル「その他」を選んでいて詳細が記入されていなかったときに出す
 下:URLが記入されていてリンク可/不可が選択されていなかったときに出す


errcheck.pl 
-----------------------------------------------------------
25行目
#foreach my $key (@key) {# ←コメントアウト
foreach my $key (split(/ /,$in{'orderlist'})) {# ←追加

41行目(元の40行目)
$key_name = "サークルカット";
-----------------------------------------------------------
※上:過去ログより エラーがあったときの並び順制御
 下:添付は1ファイルのみ、名前はサークルカットに固定したのでその対応


preview.pl 
-----------------------------------------------------------
68行目
next if ($key eq "orderlist"); ## ←追加

93行目(元の92行目)
$tmp =~ s/\$left/サークルカット/;
-----------------------------------------------------------
※上:過去ログより エラーがあったときの並び順制御
 下:添付は1ファイルのみ、名前はサークルカットに固定したのでその対応


他ブラウザで正常に動作しているのと表示崩れなどではないので
どこをどう直せば動いてくれるのか、全く見当がつかず途方に暮れています。
もし、同様の現象が起きてこうしたら回避できた、もしくは
ここをこうすればいいんじゃないかというアイディアをお持ちでしたら
ご教示いただきたく思います。よろしくお願いします。


記事No: 7670
投稿日: 2010/07/11(Sun) 16:56:51
タイトルRe: ClipmailのOperaでの動作
ID情報: liberty8
投稿者: KK
URLhttp://www11.atpages.jp/atgamewikibbs/Patio.html

無関係かもしれませんが、HTMLとXHTMLの書式が混ざってしまっています。
http://www.kanzaki.com/docs/html/xhtml1.html

加えて、要素や属性の名前が大文字小文字バラバラですので小文字に統一して下さい。
以下のlintを参考にすると良いかもしれません。
http://openlab.ring.gr.jp/k16/htmllint/htmllint.html


記事No: 7672
投稿日: 2010/07/11(Sun) 18:21:00
タイトルRe^2: ClipmailのOperaでの動作
ID情報: kuzumin
投稿者: 穂積
URLhttp://orange.s206.xrea.com/apply/

> 無関係かもしれませんが、HTMLとXHTMLの書式が混ざってしまっています。
> http://www.kanzaki.com/docs/html/xhtml1.html
>
> 加えて、要素や属性の名前が大文字小文字バラバラですので小文字に統一して下さい。
> 以下のlintを参考にすると良いかもしれません。
> http://openlab.ring.gr.jp/k16/htmllint/htmllint.html

ご指摘ありがとうございます。
XHTMLとHTMLの書式の違いとか意識したことありませんでした。
教えていただいたサイトを参考にさせていただきます。


記事No: 7671
投稿日: 2010/07/11(Sun) 17:24:16
タイトルRe: ClipmailのOperaでの動作
ID情報: Fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

jcode.plとOperaの相性が悪いのかもしれません。
ネーム値の「表」と「申」で不具合が発生しているようです。
ネーム値をアルファベットに変更すれば問題は解決しますが、日本語で表示したい場合以下の方法で解決しましたが他にもっと簡単な方法があるかもしれません。

入力フォームのページをUTF-8にしてinit.cgiのフォームデコードサブルーチン内のテキスト系処理をjcode.plの代わりにUTF-8からShift_jisへ変換するライブラリを使用してみたところOperaでも正常に作動しました。


記事No: 7673
投稿日: 2010/07/11(Sun) 18:23:08
タイトルRe^2: ClipmailのOperaでの動作
ID情報: kuzumin
投稿者: 穂積
URLhttp://orange.s206.xrea.com/apply/

> jcode.plとOperaの相性が悪いのかもしれません。
> ネーム値の「表」と「申」で不具合が発生しているようです。
> ネーム値をアルファベットに変更すれば問題は解決しますが、日本語で表示したい場合は以下の方法で解決しましたが他にもっと簡単な方法があるかもしれません。
>

なるほどそういう原因ですか…
確認画面や申込者への返信メールの項目名を日本語にしたいので
出来れば項目名は今のままでいきたいところです。


> 入力フォームのページをUTF-8にしてinit.cgiのフォームデコードサブルーチン内のテキスト系処理をjcode.plの代わりにUTF-8からShift_jisへ変換するライブラリを使用してみたところOperaでも正常に作動しました。

不勉強で申し訳ありませんが、この部分をもう少し詳しく教えていただけますでしょうか。


記事No: 7674
投稿日: 2010/07/11(Sun) 18:48:41
タイトルRe^3: ClipmailのOperaでの動作
ID情報: Fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

UTF-8からShift_jisに変換するライブラリは色々ありますが私はこちらのSJIS_UTF8.pmを使っています。
http://www11.atpages.jp/atgamewikibbs/pm/index.html

SJIS_UTF8.pmをlibディレクトリ内にアップ

●init.cgi
#-------------------------------------------------
# フォームデコード
#-------------------------------------------------
-- 省略 --
# テキスト系処理
if (!$uplno) {

# S-JISコード変換
#&jcode::convert(\$key, 'sjis'); ##コメントアウト
#&jcode::convert(\$val, 'sjis'); ##コメントアウト
#▼ここから▼
require './lib/SJIS_UTF8.pm';
&SJIS_UTF8::utf82sjis($key);
&SJIS_UTF8::utf82sjis($val);
#▲ここまで追加▲
# エスケープ


記事No: 7677
投稿日: 2010/07/11(Sun) 23:31:23
タイトルRe^4: ClipmailのOperaでの動作
ID情報: kuzumin
投稿者: 穂積
URLhttp://orange.s206.xrea.com/apply/

上記の通りやってみましたところ、確認画面には行けるようになりました。
ただ、今度は確認画面で文字化けしてしまいました…
いただいた情報を元に、いろいろ試してみます。
詳細にありがとうございました!


記事No: 7679
投稿日: 2010/07/11(Sun) 23:53:48
タイトルRe^5: ClipmailのOperaでの動作
ID情報: teketen
投稿者: てけてん

BALさんが提示した方法は、メールフォームのindex.htmlファイルだけ、utf8にすればよいです。
スクリプトやテンプレートファイルは、Shift_jisのままで構いません。
現在、テンプレートファイルもutf8にされていますので、元に戻してください。


記事No: 7680
投稿日: 2010/07/12(Mon) 00:50:45
タイトルRe^6: ClipmailのOperaでの動作
ID情報: kuzumin
投稿者: 穂積
URLhttp://orange.s206.xrea.com/apply/

> BALさんが提示した方法は、メールフォームのindex.htmlファイルだけ、utf8にすればよいです。
> スクリプトやテンプレートファイルは、Shift_jisのままで構いません。
> 現在、テンプレートファイルもutf8にされていますので、元に戻してください。

あああなるほど! 一発で文字化け直りました!!
ありがとうございます!!


記事No: 7675
投稿日: 2010/07/11(Sun) 18:52:10
タイトルRe^3: ClipmailのOperaでの動作
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

> > jcode.plとOperaの相性が悪いのかもしれません。
> > ネーム値の「表」と「申」で不具合が発生しているようです。
> > ネーム値をアルファベットに変更すれば問題は解決しますが、日本語で表示したい場合は以下の方法で解決しましたが他にもっと簡単な方法があるかもしれません。
> >
>
> なるほどそういう原因ですか…
> 確認画面や申込者への返信メールの項目名を日本語にしたいので
> 出来れば項目名は今のままでいきたいところです。
>
>
> > 入力フォームのページをUTF-8にしてinit.cgiのフォームデコードサブルーチン内のテキスト系処理をjcode.plの代わりにUTF-8からShift_jisへ変換するライブラリを使用してみたところOperaでも正常に作動しました。
>
> 不勉強で申し訳ありませんが、この部分をもう少し詳しく教えていただけますでしょうか。

横やりですみませんが。

まず、(X)HTMLを正しく書く事が先決だと思いませんか?
OperaはCSSの解釈やfont-familyの指定にコツがあると聞いています。
BALさんの案で解決しても、後々いろいろな落とし穴があるかもです。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
で書けないなら、トップページと同じ
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML lang="ja">
でやって見るとか。

因みに現状。↓
http://validator.w3.org/check?uri=http://orange.s206.xrea.com/apply/index.html


以上、失礼しました。


記事No: 7676
投稿日: 2010/07/11(Sun) 20:45:56
タイトルRe^4: ClipmailのOperaでの動作
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

> 因みに現状。↓
> http://validator.w3.org/check?uri=http://orange.s206.xrea.com/apply/index.html

わお、いきなりerror数がが143から18に減っていますね。
気にとめて頂いて、ありがとうございます。


記事No: 7678
投稿日: 2010/07/11(Sun) 23:47:54
タイトルRe^5: ClipmailのOperaでの動作
ID情報: kuzumin
投稿者: 穂積
URLhttp://orange.s206.xrea.com/apply/

> > 因みに現状。↓
> > http://validator.w3.org/check?uri=http://orange.s206.xrea.com/apply/index.html
>
> わお、いきなりerror数がが143から18に減っていますね。
> 気にとめて頂いて、ありがとうございます。

XHTMLについては全く不勉強でしたので、こちらこそ、ご指摘ありがとうございました。
これを機に少しずつでも勉強してみます。


[検索ページ]