過去ログ 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分]管理人様
返信頂き大変有難う御座いました。うまくアドレス取得出来ました。 早々の回答で大変驚いております。有難う御座いました。
おにょ
一定時間書込が無かったので過去ログに移りました
|
|