記事No | : 14540 |
投稿日 | : 2016/01/21(Thu) 12:22:38 |
タイトル | : Clipmailの入力項目の条件判断について |
ID情報 | : cxj01715 |
投稿者 | : mabo |
URL | : http://www.ibarakisibu.jp/blogn267/clipmail-1/postmail-mousikomil.html |
お世話になります。何度も助けていただいて、便利に使わさせていただいております。
また、Clipmail入力項目の条件判断について、ご教示いただければと思います。
Clipmailにて入力いただいたメールアドレスに、返信時にキーを送り、そのキーの入力を必須にしたいと考えおります。
入力していただいたメールアドレスに間違いがある場合があり、その対応に時間がかかるためです。
キーを自動で送るところまでは、できておりますが、そのキーの入力の条件判断で、次のようにするとエラーになってしまいます。
#確認番号チェック
my $kakunin = $$in{'確認番号'};
my $count=substr($$in{'お名前'},1,2);
if ($kakunin != $count){
&error("確認番号半角英数字でを正しくご記入ください");
}
単なるシンタックスエラーなのかもしれませんが、立ち止まっております。
照合に使うキーは、入力していただいた名前のアスキーコードを途中から取り出して使おうと考えております。
初歩的な質問ですが、アドバイスお願いいたします。以下,Clipmail.cgiの全文です。
http://www.ibarakisibu.jp/blogn267/files/clipmail.txt
記事No | : 14542 |
投稿日 | : 2016/01/21(Thu) 20:00:35 |
タイトル | : Re: Clipmailの入力項目の条件判断について |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
まず、clipmail.cgi 1094行目の } が全角の}になっているので、半角に修正してください。
それと clipmail のバージョンはいくつでしょうか。最新版ではinit.cgiの
設定値を返す関数名がsub set_initに変更されているので、
clipmail.cgi 18行目の
my %cf = init();
は
my %cf = set_init();
としないとエラーになります。
init.cgiに sub init があるならそのままで大丈夫です。
記事No | : 14549 |
投稿日 | : 2016/01/21(Thu) 23:53:25 |
タイトル | : (解決) Clipmailの入力項目の条件判断について |
ID情報 | : cxj01715 |
投稿者 | : mabo |
URL | : http://www.ibarakisibu.jp/blogn267/clipmail/postmail-mousikomil.html |
> まず、clipmail.cgi 1094行目の } が全角の}になっているので、半角に修正してください。
>
> それと clipmail のバージョンはいくつでしょうか。最新版ではinit.cgiの
> 設定値を返す関数名がsub set_initに変更されているので、
> clipmail.cgi 18行目の
> my %cf = init();
> は
> my %cf = set_init();
> としないとエラーになります。
> init.cgiに sub init があるならそのままで大丈夫です。
hirayamaさん、今回も助けていただいてありがとうございます。
全角に気づかないとは、本当の初心者です。
今、メインで使ってるのは、V4.1です。実際に運用中なので、運用が終わったら、ヴァージョンを上げたいと思います。
それから、漢字コードをいじろうと思いましたが、うまくいかないので、cryptを使って、電話番号を簡単な暗号にして、使おうかなと思います。
今回もありがとうございました。
記事No | : 14563 |
投稿日 | : 2016/01/23(Sat) 12:44:33 |
タイトル | : 別件でもう一つお願いできますでしょうか |
ID情報 | : cxj01715 |
投稿者 | : mabo |
URL | : http://www.ibarakisibu.jp/blogn267/clipmail-1/postmail-mousikomil.html |
hirayamaさん、名指しでお願いするのは本来ではないと思いますが、もしこのスレが目にお入りでしたらアドバイスいただければありがたいです。
以前、No13424でアドバイスいただいた内容で、clipmailの設置をすすめております。
http://www.ibarakisibu.jp/blogn267/clipmail-1/postmail-mousikomil.html
おかげさまで、簡単な改造で、思った動作ができております。ただ、エラー表示が、新しい項目ででてしまいます。
未入力の項目に表示できればと思います。
http://www.ibarakisibu.jp/blogn267/txt/erro.jpg
http://www.ibarakisibu.jp/blogn267/txt/2016-clipmail.txt
http://www.ibarakisibu.jp/blogn267/txt/2016-form.txt
アドバイス適応済みの「cgi」と「フォーム」です。お手すきの時にアドバイスいただければありがたいです。
記事No | : 14568 |
投稿日 | : 2016/01/23(Sat) 18:08:07 |
タイトル | : Re: 別件でもう一つお願いできますでしょうか |
ID情報 | : hirayama |
投稿者 | : hirayama |
入力フォームから送られた項目とneedで指定した項目名が違うので、両方表示されてしまうということですね。
これを解消するのは結構修正箇所が多くなりますが、
まず内容展開の前652行目ぐらいに
my %short;
foreach my $key (@$key) {
if ($key =~ /_/) {
my @tmp= split(/_/,$key);
$short{$key} = $tmp[0];
}
}
を追加します。そして671行目辺りに
next if (grep{$_ eq $key} values(%short));
を追加します。これはneedで_つきの指定をした項目をスキップする処理です。
さらに、685行目あたりの
$tmp =~ s/!key!/$key_name/;
を
if ($key_name =~ /_/) {
$tmp =~ s/!key!/$short{$key_name}/;
} else {
$tmp =~ s/!key!/$key_name/;
}
に変更します。
記事No | : 14571 |
投稿日 | : 2016/01/23(Sat) 21:10:57 |
タイトル | : (解決)別件でもう一つお願いできますでしょうか |
ID情報 | : cxj01715 |
投稿者 | : mabo |
URL | : http://www.ibarakisibu.jp/blogn267/clipmail-1/postmail-mousikomil.html |
hirayamaさん、お忙しのに名指しでアドバイスお願いして申し訳ありませんでした。
おかげさまで、ご指示の通り手を加えましたら、思った動作になりました。
http://www.ibarakisibu.jp/blogn267/txt/erro1.jpg
http://www.ibarakisibu.jp/blogn267/txt/2016-clipmail-1.txt
返す返すもありがとうございました。新しいバージョンのもので、設置できそうです。