カレッヂ |
質問者 けん
投稿日 9/8(土) 11:37:59
はじめまして。お世話になります。 レスキュさんのcsvエディタを、利用させてただいております。 さて、入力項目にメールアドレスを設定した場合、その行にある入力項目を ボタン1つでそのメールアドレスに送信できないでしょうか? 具体的に言うと、↓こんなcsvデータを扱います。 メアド 名前 項目1 項目2 項目3 ----------------------------------- XX@XX 山田 abc def ghi YY@XX 鈴木 eee fff ggg csvエディタでの修正画面で「記録する」ボタン付近に「送信する」ボタンをつけて たとえば、 メアド=XX@XX 名前=山田 項目1=abc 項目2=def 項目3=ghi という内容を、xx@xxに送信したいのです。 どうやら foreach というものを使うらしいというところまでわかりましたが それ以上はどうしたらよいか分かりません。 メール送信の仕組みはmailto:を使ってメーラーでやろうとしています。 (メーラーに送信のログが残るから) 私のレベルは初心者で、CGIについてはありものをほんの少し改造できるくらいです。 要領を得ない質問で申し訳ございませんが、ご存知の方宜しくお願いします。 |
回答者 vagabond
[削除]
投稿日 9/10(月) 01:19:21
foreachについては、次のように空白(カマとか)でsplitしてデータ分割してみるといいかも。そして、 primaryキーを適当なものにしてそれで、データをサーチすると。あなたの例でnameをprimaryキーにみました。 use FileHandle; sub fileread{ my $buf; my $ifh=new FileHandle $_[0],O_RDONLY; !defined $ifh and die "Could not open $_[0] :$!"; while(<$ifh>){ chomp; $buf=[split(/\s+/,$_)]; $_[1] eq $buf->[1] and last; } $ifh->close; return wantarray ? @$buf : join ",",@$buf; } my($mailaddr,$name,$item1,$item2,$item3)=fileread("cvsfile","name"); print $mailaddr; mailto:ではcvsデータの内容は送れないと思うのですが、普通CGIではsendmailとかでメール送信をします。 |
回答者 vagabond
[削除]
投稿日 9/10(月) 01:23:58
cvsでなくcsvです。間違いました。 |
質問者 けん
[削除]
投稿日 9/12(水) 20:31:34
ありがとうございました。 お答えの意味をわかるようになるまでまず勉強して (すぐには理解できなかったです、すみません) それから解釈しようと思います。 ありがとうございました。 |
このページは終了したので返信(回答)は書きこめません
Web裏技 |