記事No | : 8110 |
投稿日 | : 2010/11/06(Sat) 12:17:16 |
タイトル | : postmailに個別の受付番号 |
ID情報 | : MITUKI |
投稿者 | : MITA |
URL | : https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.cgi |
現在、古いバージョンのpostmailにて、資料請求などを受け取っておりますが、新しいバージョンにプログラムを差し替えることになりました。
メールに個別の受付番号を設置したく、
cgiに
#-------------------------------------------------
# 受付番号生成
#-------------------------------------------------
my $serial;
$serial = time;
($sec, $min, $hour, $mday, $mon, $year) = localtime($serial);
$year += 1900;
$mon++;
$serial = sprintf("%04d",$year).sprintf("%02d",$mon).sprintf("%02d",$mday).sprintf("%02d",$hour).sprintf("%02d",$min).sprintf("%02d",$sec) . sprintf("%03d",(rand 999));
の記述と、
bidy.txtに
受付番号 : $serial
を書きましたが、受信メールに反映されません。
記述モレがあるのかと思いますが、どのように書き加えればよいでしょうか?
アドバイスよろしくお願いします。
記事No | : 8111 |
投稿日 | : 2010/11/07(Sun) 02:30:50 |
タイトル | : Re: postmailに個別の受付番号 |
ID情報 | : hirayama |
投稿者 | : 平山 |
テンプレ変数変換の部分に
$tbody =~ s/\$serial/$serial/;
と追加する必要があると思います。
記事No | : 8115 |
投稿日 | : 2010/11/07(Sun) 19:21:08 |
タイトル | : Re^2: postmailに個別の受付番号 |
ID情報 | : MITUKI |
投稿者 | : MITA |
URL | : https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.cgi |
平山様、ありがとうございます。
「テンプレ変数変換」ですね。
さっそく確認して、試してみます。
また、結果をご報告させていただきます!
> テンプレ変数変換の部分に
>
> $tbody =~ s/\$serial/$serial/;
>
> と追加する必要があると思います。
記事No | : 8117 |
投稿日 | : 2010/11/07(Sun) 22:50:28 |
タイトル | : Re^3: postmailに個別の受付番号 |
ID情報 | : MITUKI |
投稿者 | : MITA |
URL | : https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.cgi |
いただいたアドバイスにそって、書き換えてみました。
受信メールが届いたのですが、表示部分が空白でした。
ただ前回よりは、前進しているのですが。
前回までは
受付番号 : $serial
と、そのまま表示されていましたが、
今回は
受付番号 :
と、$serialの箇所が空白になっています。
#-------------------------------------------------
# 受付番号生成
#-------------------------------------------------
my $serial;
$serial = time;
($sec, $min, $hour, $mday, $mon, $year) = localtime($serial);
$year += 1900;
$mon++;
$serial = sprintf("%04d",$year).sprintf("%02d",$mon).sprintf("%02d",$mday).sprintf("%02d",$hour).sprintf("%02d",$min).sprintf("%02d",$sec) . sprintf("%03d",(rand 999));
この書き方が悪いのでしょうか?
以前のバージョンは、これで大丈夫だったのですが…。
書いている位置は、
697〜705行目あたりで、
エラー処理と時間取得の間です。
これも、前のバージョンのスクリプトの位置に合わせたのですが
書いている位置が悪いのでしょうか?
お知恵を貸していただけると助かります。
> 平山様、ありがとうございます。
>
> 「テンプレ変数変換」ですね。
> さっそく確認して、試してみます。
> また、結果をご報告させていただきます!
>
> > テンプレ変数変換の部分に
> >
> > $tbody =~ s/\$serial/$serial/;
> >
> > と追加する必要があると思います。
記事No | : 8118 |
投稿日 | : 2010/11/08(Mon) 01:21:09 |
タイトル | : Re^4: postmailに個別の受付番号 |
ID情報 | : hirayama |
投稿者 | : 平山 |
$serial部分が空白ということは、$serialにうまく値が入っていないようですね。
受付番号生成処理はcgiのどのあたりに書かれているのでしょうか。
記事No | : 8119 |
投稿日 | : 2010/11/08(Mon) 01:41:55 |
タイトル | : Re^5: postmailに個別の受付番号 |
ID情報 | : MITUKI |
投稿者 | : MITA |
URL | : https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.cgi |
平山様、ご返信ありがとうございます。
受付番号生成処理は、cgiの428行目から始まる
# テンプレ変数変換
$tbody =~ s/\$date/$date1/;
$tbody =~ s/\$agent/$agent/;
$tbody =~ s/\$host/$host/;
の後に
$tbody =~ s/\$serial/$serial/;
と入れて、
&jcode::convert(\$tbody, 'jis');
は、その後に入れています。
もともとあった
# テンプレ変数変換
の記述に割り込ませているような状態です。
これがまずかったんでしょうか??
すみません。
何かアドバイスいただけると助かります。
よろしくお願いいたします。
> $serial部分が空白ということは、$serialにうまく値が入っていないようですね。
>
> 受付番号生成処理はcgiのどのあたりに書かれているのでしょうか。
記事No | : 8120 |
投稿日 | : 2010/11/08(Mon) 03:35:19 |
タイトル | : Re^6: postmailに個別の受付番号 |
ID情報 | : hirayama |
投稿者 | : 平山 |
そこではなくて、
#-------------------------------------------------
# 受付番号生成
#-------------------------------------------------
my $serial;
以下の部分はどこに書かれているか
とお聞きしています。
この部分が
$tbody =~ s/\$serial/$serial/;
よりあとなら、$serialに代入する前なので、
当然空白になってしまいます。
> 平山様、ご返信ありがとうございます。
>
> 受付番号生成処理は、cgiの428行目から始まる
>
> # テンプレ変数変換
> $tbody =~ s/\$date/$date1/;
> $tbody =~ s/\$agent/$agent/;
> $tbody =~ s/\$host/$host/;
>
> の後に
>
> $tbody =~ s/\$serial/$serial/;
>
> と入れて、
> &jcode::convert(\$tbody, 'jis');
> は、その後に入れています。
>
> もともとあった
> # テンプレ変数変換
> の記述に割り込ませているような状態です。
>
> これがまずかったんでしょうか??
>
> すみません。
> 何かアドバイスいただけると助かります。
> よろしくお願いいたします。
>
>
> > $serial部分が空白ということは、$serialにうまく値が入っていないようですね。
> >
> > 受付番号生成処理はcgiのどのあたりに書かれているのでしょうか。
記事No | : 8121 |
投稿日 | : 2010/11/08(Mon) 03:44:06 |
タイトル | : Re^7: postmailに個別の受付番号 |
ID情報 | : hirayama |
投稿者 | : 平山 |
失礼しました。すでに書かれていますね。
>697〜705行目あたりで、
>エラー処理と時間取得の間です。
そこということは、関数を新たに作っているということですか。
それならば、その関数をどこで呼び出しているか教えてください。
編集済みのcgiファイルの拡張子を.txtに変えてアップロードしてもらう方が早いかもしれません。
記事No | : 8125 |
投稿日 | : 2010/11/08(Mon) 23:16:17 |
タイトル | : Re^8: postmailに個別の受付番号 |
ID情報 | : MITUKI |
投稿者 | : MITA |
URL | : https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.cgi |
平山様
ご返信ありがとうございます。
外出だったため、反応が遅れてすみません。
# 受付番号取得
$serial;
を402〜403行目に書きました。
431行目からのテンプレ変数変換よりも前にしてみたのですが
受付番号 :
になりました。
何か書き方に基本的なミスがあるのかと思うのですが…。
アドバイスいただけますと助かります。
編集データのテキスト変換は、諸事情で難しいかもしれません。
可能であれば、深夜にチャレンジします。
記事No | : 8126 |
投稿日 | : 2010/11/09(Tue) 03:22:32 |
タイトル | : Re^9: postmailに個別の受付番号 |
ID情報 | : MITUKI |
投稿者 | : MITA |
URL | : https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.cgi |
遅くなりましたが、txtファイルにしてアップしました。
https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.txt
ご確認いただけると助かります。
よろしくお願いいたします。
> 平山様
>
> ご返信ありがとうございます。
> 外出だったため、反応が遅れてすみません。
>
> # 受付番号取得
> $serial;
>
> を402〜403行目に書きました。
>
> 431行目からのテンプレ変数変換よりも前にしてみたのですが
>
> 受付番号 :
>
> になりました。
> 何か書き方に基本的なミスがあるのかと思うのですが…。
>
> アドバイスいただけますと助かります。
> 編集データのテキスト変換は、諸事情で難しいかもしれません。
>
> 可能であれば、深夜にチャレンジします。
>
記事No | : 8127 |
投稿日 | : 2010/11/09(Tue) 04:00:59 |
タイトル | : Re^10: postmailに個別の受付番号 |
ID情報 | : hirayama |
投稿者 | : 平山 |
txtファイル拝見しました。
あんなところに受付番号生成を直接書いても絶対に実行されないと思います。exitのあとですし・・・
# 受付番号取得
$serial;
の部分も謎ですが、これを消してこの部分に受付番号生成処理を移動してはどうでしょうか。
記事No | : 8128 |
投稿日 | : 2010/11/09(Tue) 04:43:31 |
タイトル | : Re^11: postmailに個別の受付番号 |
ID情報 | : MITUKI |
投稿者 | : MITA |
URL | : https://www.clumpon.ne.jp/cgi_f/postmail_dorazemi/postmail_dorazemi.cgi |
平山様
ご返信ありがとうございます。
大変、初歩的なミスの質問におつきあいいただき、心から感謝いたします。
> txtファイル拝見しました。
> あんなところに受付番号生成を直接書いても絶対に実行されないと思います。exitのあとですし・・・
おっしゃるとおりですね…。
いつも、他の人が書いた(あるいは改造した)プログラムしか触ったことがないので、基本の基本を理解していないことが、骨身にしみました。
アドバイスいただきましたとおり、
「受付番号生成処理」の位置を移動したことで、解決しました。
メール本文に、受付番号がきちんと表示されました!
これを機会に、プログラムは初歩から勉強しなおします。
本当にありがとうございました!