ラウンジ(兼FAQ掲示板)

マガジンガーZ のメルアドデータの取り込み
過去ログ NO.1166970615
□ おにょ [2006年12月21日12時16分]
お世話になります。マガジンガーZをメンバーへの一斉配信に使用させて頂こうと思っています。メルアドは別LISTのcgiで管理しているものにリンクさせたいと思い、cgiを作って試してみましたが、データの取り込みがうまく出来ません。データの形式は、下記のようにテキスト形式のものが「,」で区切られています。

1,おにょ(onyo),1165764800,yokoso@arigatou.co.jp,社会人,
2,おかめ(okame),1166447564,okame@yahoo.co.jp,

どうしてもリンクして使いたく手法をお教え下さい。色々試しましたが全然うまく行きません。主旨に反する内容かも知れませんが宜しくお願いします。
□ NXer [2006年12月21日20時01分]

はじめまして。NXerです。

>全然うまく行きません。

以下をためしていただいても、同じ結果におわるかもわかりません。
データファイルの処理は複雑なために、まず、お断りです。

当方のデータです。確認用に2つ追加してみました。
----------------------------------------------------
1,おにょ(onyo),1165764800,yokoso@arigatou.co.jp,社会人,
2,おかめ(okame),1166447564,okame@yahoo.co.jp,学生,
3,おふく(ofuku),1166777733,ofuku@livedoor.co.jp,フリータ,
4,おくま(okuma),1177666644,okuma@mixi.co.jp,猟師,
-----------------------------------------------------
$num,$name,$id,$mail,$job,
------------------------------------------------------
処理のために上のように変数を付記します。

データファイル名は、data.datにしてあります。

ディレクトリ構成です。
----------------------------
/magazinegerZ/
....|-magazine.cgi
....|-data.dat (上のデータ)
....|-/data/
.........|-data.cgi (magazinegerZ元ファイル)
-------------------------------
作成目標のデータです。
------------------------------------------------
1165764800<>おにょ(onyo)<>yokoso@arigatou.co.jp<>pass
1166447564<>おかめ(okame)<>okame@yahoo.co.jp<>pass
1166777733<>おふく(ofuku)<>ofuku@livedoor.co.jp<>pass
1177666644<>おくま(okuma)<>okuma@mixi.co.jp<>pass
-----------------------------------------------------
ただし、先頭の数字はすえぽんさんの数値ではなくサンプルの数字を
利用しています。問題があれば調べて変更してください。当方は
名前、アドレスが表示されました。

スクリプト変更点その1)分岐挿入
----------------------------
182 if ($in{'mode'} eq 'list') { &list; }
#---------------------------------
elsif ($in{'mode'} eq 'mread') { &mread; &admin}#読み込み後admin画面です。
elsif ($in{'mode'} eq 'regist') { ®ist; }
--------------------------------------

スクリプト変更その2)読み込み用ボタン作成
------------------------------------------------
457 print "<td><input type=submit value='配信 設定/解除ページへ'></td></form>\n";
print "<form action='$top' onSubmit=\"location.href='$top'; return false;\">\n";
print "<td><input type=submit value='トップページへ'></td></form>\n";
#■---------------------------------------------value=mread に変更
print "<form action='$script' method=POST>\n";
print "<input type=hidden name=mode value=mread>\n";
print "<input type=hidden name=pass value='$in{'pass'}'>\n";
print "<td><input type=submit value='address 読み込みへ'></td></form>\n";
#----------------------
print "</table><hr color='$tbl_border'>\n";

スクリプトの変更点その3)読み込み保存実行
------------------
904 exit;
}
#---------------------既存に下追加
sub mread{
open(READ,"<","data.dat") || &error("[ $tmp$file ]が開けませんでした。");
@data =<READ>;
close(READ);
foreach (@data) {
($num,$name,$id,$mail,$job,) = split(/\,/,$_);
$pass="pass";
$line="$id<>$name<>$mail<>$pass\n";
push(@new,$line); }
@data = @new;
open(DATA,"> $dir/$data") || &error("file open error");
print DATA @data;
close(DATA);
}
---------------------------------

注意点その1;形式と並び順の変更
$line="$id<>$name<>$mail<>$pass\n";#すえぽんさんは
c(omma) s(eparated) v(alue)形式ではなくて <> になっています。
順番も$idを前にしています。文字数はすえぽんさんと同じ10桁
ですが、意味はわかりません。

作業メモ;
メールマガジン配信フォームに入り、右上の新規ボタンを押せば
データを読み込み、送信先に表示されます。それでいいのでしょうか。
お試しください。
□ おにょ [2006年12月24日23時30分]
管理人様

返信頂き大変有難う御座いました。うまくアドレス取得出来ました。
早々の回答で大変驚いております。有難う御座いました。

おにょ
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2008 suepon , All rights reserved. Powered by CGI Script Market.