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


記事No: 4196
投稿日: 2008/07/26(Sat) 11:03:24
タイトルPostmail確認画面にて結合後の順序を正すには・・・
ID情報: takumifd
投稿者: たくみ
URLhttp://www7a.biglobe.ne.jp/~pochitan/test2/postmail4.html

こんにちわ、早速ですが

過去ログ
http://www.kent-web.com/support/old/64/0179.html

↑過去ログを参考にCGIを書き換え、
HTMLも書き換えた当テストサイトがこちらです↓
http://www7a.biglobe.ne.jp/~pochitan/test2/postmail4.html

確認画面での結合は成功しましたが、
順序がバラバラ and 同項目が複数生成されてしまいます。

改善への助言をお願い致します。


記事No: 4197
投稿日: 2008/07/27(Sun) 07:07:03
タイトルRe: Postmail確認画面にて結合後の順序を正すには・・・
ID情報: teketen
投稿者: てけてん

初めから改造し直しますので、過去ログで改造した部分は、元に戻してください。
(又は、改造していないpostmailを用意するか、ダウンロードし直して下さい)
その上で、以下の改造を行って下さい。
但し、動作確認はしていますが、改造は自己責任でお願いいたします。
動作がおかしくなった場合は、元に戻してください。
私は、今後これ以上は、この改造に関してはノータッチとさせて戴きます。

この機能を使う場合は、設定の

# 送信前確認
# 0 : no
# 1 : yes
$preview = 1;

を1に設定する必要があります。
また、入力フォームの記述方法は、過去ログと一緒です。
http://www.kent-web.com/support/old/64/0179.html
但し、過去ログと違うのは、纏めた項目を入力必須にしたい場合です。
コマンドタグ (1)のneedに記述するのは、item_xxx(xxxは任意の文字)のxxxの部分をneedに記述してください。
例:「item_住所」の場合、<input type="hidden" name="need" value="住所">
とします。


以下は、postmail v4.3での行数です。

673行目付近

push(@key,$key);



push(@key,$key) if($key !~ /^item_/);

に変更、670行目付近

$in{$key} .= "\0" if (defined($in{$key}));

の前の行に

if($key =~ /^item_(.+)/) { my $item = $1; $item{$item} = $val; push(@item,$item); }

を、235行目付近の

if ($postonly && !$postflag) { &error("不正なアクセスです"); }

の次の行に

if ($in{'mode'} ne "send") {
for my $i (@item) {
$item{$i} =~ s/cut:(.+)$//;
my $cut = '';
$cut = $1;
$in{$i} = join($cut,map { $in{$_} } split(/\s/,$item{$i}));
for my $j (split(/\s/,$item{$i})) {
@key = grep { $j ne $_ } @key;
undef $in{$j};
$in{'need'} = join(' ',grep { $j ne $_ } split(/\s/,$in{'need'}));
}

undef $in{$i} if($in{$i} =~ s/^($cut)+$//);
push(@key,$i);
}
}

を挿入してください。
以上です。


記事No: 4198
投稿日: 2008/07/28(Mon) 09:41:03
タイトルRe^2: Postmail確認画面にて結合後の順序を正すには・・・
ID情報: takumifd
投稿者: たくみ
URLhttp://www7a.biglobe.ne.jp/~pochitan/test2/postmail4.html

てけてん様


記事No: 4199
投稿日: 2008/07/28(Mon) 09:42:32
タイトルRe^3: Postmail確認画面にて結合後の順序を正すには・・・
ID情報: takumifd
投稿者: たくみ
URLhttp://www7a.biglobe.ne.jp/~pochitan/test2/postmail4.html

てけてん様

ご教授いただいた方法できちんと動作致しました。

非常に助かりました。ありがとうございました。


[検索ページ]