• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メール送信後にページの内容を書き換えたい)

メール送信後にページの内容を書き換えたい

Marionetteの回答

回答No.9

お気に召すかどうか分かりませんが、違う方法を考えてみました(私もやりたいので)。 送信ボタンを押した時に別のウィンドウを開いて「送信中...」のメッセージを表示するというものです。 ウィンドウを送信ボタンが隠れる位置に配置すればボタンを二重に押すことが防げて都合がよいのではないかと思います。 また一定時間後(3秒程度?)に自動的にウィンドウをクローズすることも可能です。 試してみましたが、私としてはなかなかよさそうに思いました。 ただし、なれるとうるさく感じるかも知れません(自動的に開いて、閉じるので手間はかかりませんが)。 最大の利点は、現在のソースは殆ど手直しせずに可能だということです。オンメモリへの移行も問題なくできます。 興味がおありでしたら、詳細をお知らせします。

noname#241291
質問者

お礼

ありがとうございます。 その方法も簡単そうでいいですね。 とりあえず、今までは個人使用だったので、送信中のステータスがわからなくても問題はなかったのですが、これから多数の人に使ってもらう予定なので、なるべくユーザに不安を感じさせない方法がないかと思っていました。 参考にさせていただきます。

関連するQ&A

  • perl localhostでgifを表示するには

    超初心者からプログラムを初めて1週間、 プログラム言語にはperlを使用しています。 mac os x です。 perlの教科書読みながら、アクセスカウンタを作ろうとした所、 何故かgif画像が表示されません。 ネットの素材置き場からとってきましたが、パソコン自身、gif自体は認識してくれてます。 ただ、それをperlに組み込んで使おうとすると、表示されません。 ブラウザはfirefoxとsafariで試しましたが、両方認識してくれませんでした。 ちなみにソースは ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>アクセスカウンタ2</TITLE></HEAD>\n"; print " <BODY>\n"; print "<H1>test</H1><HR>\n"; if ( open ( FH , "count.txt")){ $cnt = <FH>; close( FH ); $cnt++; print"<CENTER>\n"; foreach $fld (split (// , $cnt)){ print "<IMG SRC=\"${fld}.gif\">"; } print"</CENTER>\n"; if ( open(FH, ">count.txt" )){ print FH $cnt; close(FH); } else { print "ファイルの書き込みオープンに失敗しました。\n"; } } else { print "ファイルの書き込みオープンに失敗しました。\n"; } print "</BODY>\n"; print "</HTML>\n"; __END__ ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー です。 テキストファイルを確認しているので、 perl 自体の活動と、アクセスのログ?自体は正常に動いているみたいです。 お願いします。 助けてください!

    • ベストアンサー
    • Perl
  • perl の printでのファイルへの指示にて

    独学でmacでパールを勉強しています。 始めてからまだ1週間くらい。 教科書みながら、print命令でファイルハンドルに指示を出してるのですが、 書き込めはできるのですが、 ファイルが無い場合、 新規に自動でファイルが作成されるはずとの記載があったのですが、 何故か、自動でファイルが生成されません。 調べても、設定が必要等言われてますが、 mac自体も初心者でほとんどわかりません。 どのような設定にすればいいのでしょうか? また、ソースに何か悪い所があるのでしょうか? お助けください。   ちなみに下記がソースです。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーー #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>アクセスカウンタ</TITLE></HEAD>\n"; print " <BODY>\n"; print "<H1>test</H1><HR>\n"; if ( open ( FH , "count.txt")){ $cnt = <FH>; close( FH ); $cnt++; print"<CENTER>あなたは${cnt}人目の訪問者です。</CENTER>\n"; if ( open(FH, ">count.txt" )){ print FH $cnt; close(FH); } else { print "ファイルの書き込みオープンに失敗しました。\n"; } } else { print "ファイルの書き込みオープンに失敗しました。\n"; } print "</BODY>\n"; print "</HTML>\n"; __END__ ーーーーーーーーーーーーーーーーーーーーーーーーーー

    • ベストアンサー
    • Perl
  • Perlでメール送信機能

    Perlで管理者にメール送信する機能つきの掲示板を作成しております。が、メール送信されるところまでできましたが、内部エラーが起こり処理が完結しません。 自分ではどこがおかしいのかわからないので、ヒントをひただければと思い、投稿しました。 ~途中から # 登録処理 $inq =~ s/\n//g; $inq =~ s/\r//g; open(LOG,">>$data_file") || &msg_disp("fe"); print LOG "$mc,$dt,$gname,$email,$bm,$sex,$place,$sch,$tel,$inq,$rh\n"; close(LOG); # メール通知 &mail; &msg_disp("rg"); exit; } # close sub write_data # メール通知処理 sub mail{ # ここからロジック &jcode'convert(*fn,"jis"); &jcode'convert(*tn,"jis"); &jcode'convert(*sj,"jis"); &jcode'convert(*ms,"jis"); # open(MAIL, "|$sendmail $mymail"); #本番用 ##open(MAIL, ">mail.txt"); #テスト用 print MAIL mimeencode("From: $fn <$mymail>\n"); print MAIL mimeencode("To: $tn <$mymail>\n"); print MAIL mimeencode("Subject: $sj\n"); print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "Content-Type: text/plain; charset=iso-2022-jp . \n\n"; print MAIL $ms; close(MAIL); }#close sub mail &mailをコメント化した結果、どうやらmailルーチンの中でエラーが起こるようです。しかし、空メールだけはちゃんと指定アドレス($mymail)へ送信されてきます。 最後、$msg_dispルーチンへはエラーが起こり行きません。 mailルーチンのどこらへんがおかしいのでしょうか?

    • ベストアンサー
    • CGI
  • sendmailについて

    以前ここで同様の質問を見たような気がするのですが、時間がないので、また質問させてください。 プロバイダーのsendmailを使ってメールマガジン送信フォームを作成したのですが、2600件メール送信実験中960件辺りで止まってしまいます。 スクリプトは以下の通りです。 foreach (@mailto) { $ok_cnt ++; if (open(MAIL,"| $sendmail -t")) { print MAIL "FormMailer: HOT-NET BINGO Original Mailer Vs2.00\n"; print MAIL "Reply-to: $master\n"; print MAIL "From: $master\n"; print MAIL "To: $_\n"; print MAIL "Subject: $subject\n"; print MAIL "Content-Transfer-Encoding: 7bit\n"; print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n"; print MAIL "\n\n"; print MAIL "$message\n"; print MAIL "\n"; close(MAIL); open(TMP,">>$tmpfile"); print TMP "$ok_cnt\t$_\n"; close(TMP);           if (($ok_cnt % 100) == 0) {sleep 5;} } 当初4~500件位で止まってしまっていたので、 100件送信ごとに5秒のインターバルをおいてみました。 何がダメで止まってしまうのでしょうか? また、何か良い方法があれば教えていただけませんか?

    • 締切済み
    • CGI
  • read関数で読み込んだ内容をファイルに書き込めない

    バイナリ、asciiのファイルの一部を読み込み、ファイルへ書き出したいのですが、ファイルへ書き出しが上手くいきません。 以下、一部です。 open(FH,$c_file); binmode FH; open(CTFH,">$cd_tmp"); binmode(CTFH); if($i == 1){ $result = read(FH,$cd,677); print $result."\n"; print CTFH $cd; print $cd; } 後でcloseしています。 677byteまでをCTFHに書き込みたいのですが、書き込めていません。 実行した際にprintで$resultには677が出力され、$cdも同様に 677byteの内容が実行時に出力されます。 ちなみにCTFHのファイルは作成されますが0byteと いう形で何も書き出されていない状態になっています。 どうしてなのかわからず煮詰まっています。 アドバイスをください。

    • ベストアンサー
    • Perl
  • foreachでのメール一斉送信処理がうまくいきません

    以下のようなファイルからデータを読み込みメールを送信させたいのですが、一つ目のデータに対してはメール送信が行われますが、2行目以降に対してメール送信が行われません。 下記のuser.txt例ですと1行目のAさん宛てには送信されますが,2行目のBさんにはメール送信がされません。 どうしてなのでしょうか? ユーザーに応じたメッセージを送信する必要があり、BCC送信は利用できません。 #user.txtの内容----------- #Aさん,a@mail.com,0 #Bさん,b@mail.com,0 #------------------------ #読み込んだファイルから一行づつ各項目データを読み込む #@checkにはuser.txtが入っている。 foreach $item (@check){ @check_array = split(/\,/, $item); #1件づつメールを送信する require "./mails_user.pl"; } #外部 mails_user.plの内容----------- open (MAIL, "|$mailprog -t") or &Make_Error('mail_trouble'); print MAIL "To: $check_array[1]\n"; print MAIL "From: 送信元アドレス\n"; print MAIL "Subject: タイトル\n\n"; print MAIL "$check_array[0]へのメッセージ"; close(MAIL); 1; #-----------------------------------

    • ベストアンサー
    • Perl
  • 行頭に変なスペースが…

    入力したデータをログファイルの一番上に入れたいために以下のようにしました。 open(FH2,"***.log"); flock(FH2,2); @files = <FH2>; flock(FH2,8); close FH2; open(FH,">***.log"); @filew = "user=$FORM{'name'}<>TIME=$FORM{'TIME'}\n@files"; print FH @filew; close(FH); こうするとなぜかログファイルの2行目以降の頭にスペースが1文字分入ります。 2個目のログファイルオープンの3行目 print FH @filew; のスペースが原因かと思い、 print FH@filew; としてみましたが、やっぱりスペースが入りました。 このスペースを入らないようにするにはどうしたらいいでしょうか?

    • ベストアンサー
    • Perl
  • Perlでのファイル一括読み込み

    Perlにてファイルの一括読み込みを以下記述で実施しております。 実行環境はAIXです。 ------------------------------- #!/usr/bin/perl open(FH,"/tmp/filename1.txt"); @aaa=<FH>; close(FH); print "@aaa\n"; ------------------------------- 上記内容をWindows XPにて実行した場合、何も表示されません。 print文が動いていないのか、ファイルの読み込みができていないのか不明です。 ファイルのパスは以下のように変更しております。 ------------------------------- open(FH,"C:\filename1.txt"); @aaa=<FH>; close(FH); print "@aaa\n"; ------------------------------- Windowsにて動作するようにはどのようにすれば宜しいのでしょうか? 初歩的な質問かもしれませんが、宜しくお願い致します。

    • ベストアンサー
    • Perl
  • ログファイルを削除するcgiプログラム

    ログファイルを削除するcgiプログラム -------------------- $GYOUSUU = $FORM{'GYOUSUU'}; #--- ログファイルオープン open(FH,"***.log"); flock(FH,2); @FILES = <FH>; flock(FH,8); close FH; undef $FILES[$GYOUSUU]; open (FH2,">***.log"); @filew = "@FILES\n"; print FH2@filew; close(FH2); -------------------- となっているのですが、修正後にログファイルの行の頭に、半角スペースが入ってしまいます。 どこを修正すればいいのでしょうか?

    • ベストアンサー
    • Perl
  • メールの一括送信の時に自分宛へメールを送る

    perl初心者です(^^; CSVの一覧DATAへメール一括送信するスクリプトを製作しています。 スクリプトを実行すると、自分(from)へも送信しているのですが、 どこを編集してもなくなりません(^^; 送信はmail.cgiに明記し、from等の設定情報は、base.cgiに明記しております。 どなたかご教授頂けませんでしょうか?? if (!open(OUTMAIL,"| @base[3] -t")) { &error($!); } print OUTMAIL "Mime-Version: 1.0\n"; print OUTMAIL "To: @base[2]\n"; print OUTMAIL "Subject: $subject\n"; print OUTMAIL "From: @base[2]\n"; print OUTMAIL "Bcc: $bccmail\n"; print OUTMAIL "Content-Transfer-Encoding: 7bit\n"; print OUTMAIL "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n"; print OUTMAIL "\n"; print OUTMAIL "$bun\n"; print OUTMAIL "\n\n"; close(OUTMAIL);

    • ベストアンサー
    • Perl