• 締切済み

page_close()の際にトリガをかけたい

PHP Version 4.3.1とpphplib-7.4-pre2を使用 しています。 セッション確立後page_closeしたらこれをトリガとして mailを送るように出来るのでしょうか?

みんなの回答

noname#3574
noname#3574
回答No.1

私自身 PHPLIB は使っていないので何ですが, PHP で用意されている register_shutdown_function() なんて要望に沿うのではないでしょうか. PEAR のデストラクタもこれを利用して実装されています. それ以外の場面ならなんとでもなりそうですし. 外していましたらご容赦を.

参考URL:
http://www.php.net/manual/ja/function.register-shutdown-function.php
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • クローズセッションが出来ない

    使用のNECノートパソコンにUSB2.0付けのDVDドライブを買ったのですが、クローズセッションが出来ません。ドライブを修理に出しても故障無しで返されてしまいました。いろいろなソフトを使用し、設定もいろいろ変えてみたのですが、neroで、タスクマネージャーの優先度をリアルタイムにした時のみ、マルチセッションで焼けます。肝心のクローズセッションが出来ないため、DVDビデオの作成ができません。ほかにどこに原因が考えられるのでしょうか? ちなみに CPU:athlon1800+ メモリ:512M ハード:30G中、16Gが空きです。

  • phpでセッションの切れるタイミングについて

    page1.phpで $_SESSION["SESSION_1"] = "aaa"; 次画面 page2.phpで $_SESSION["SESSION_2"] = "bbb"; としたとします。 セッションがタイムアウトした場合、$_SESSION[]ごとすべて開放されているのか、 $_SESSION["SESSION_1"]と$_SESSION["SESSION_2"]は個別なのかどちらですか? えーと、何がしたいのかと言いますと、 複数セッションを定義したとして、 セッションが生きているかどうかは定義したセッションすべて調べないとわからないのか? どれか一つ調べればいいのか? それが知りたいです。

    • ベストアンサー
    • PHP
  • セッション変数の受け渡しができない

    a.php: <?php session_start(); $_SESSION['test'] = "ok"; echo "<html><body>\n"; echo "<pre>\n"; var_dump($_SESSION); echo "</pre>\n"; echo "<a href=\"./b.php\">結果ページへ</a>"; echo "</body></html>\n"; ?> b.php: <?php session_start(); echo "<html><body>\n"; echo "<pre>\n"; var_dump($_SESSION); echo "</pre>\n"; echo "</body></html>\n"; ?> a.php の表示: array(1) { ["test"]=> string(2) "ok" } 結果ページへ b.php の表示: array(0) { } 再読込みでも同様です。 php.ini の Session 関係の項目は書籍やウェブサイトを参考にしておかしなものはないと自己判断していますが、指摘されるものを掲載します。

    • 締切済み
    • PHP
  • 入力フォームで取得した値を、次のページだけでなく、その次のページにも渡したい

    PHPとHTMLで「入力画面→確認画面→登録完了画面(DBに登録する)」というプログラムを作成しています。 「入力画面→確認画面」の場合、入力画面で入力された値をsession_id()で確認画面に渡して表示させているのですが、「確認画面→登録完了画面」の場合、どのようにして値を渡せばよいのかわかりません。 なお、PHPのソースは以下の通りです。 ◆◆◆入力画面(page1.php)◆◆◆ <?php session_start(); $_SESSION["name"] = $_POST["name"]; header("Location: http://xxxxxxxx.page1.php?id=". session_id()); ?> ◆◆◆確認画面(page2.php)◆◆◆ session_start(); $name = $_SESSION["name"]; $obj_file_class->file_open("page2.html"); while(!feof($obj_file_class->file)) { $string = fgets($obj_file_class->file); $buffer = str_replace("AAAA", $name, $string); echo $buffer; } $obj_file_class->file_close($obj_file_class->file); ↑このあと、$_SESSION["name"]を確認画面(page3.php)にどのようにして渡せばいいのかわかりません(登録画面では、確認画面から引き継いだ値をDBに格納しようと考えています)。 PHP勉強中のため、解決策がなかなか思いつきません... 見苦しいソースで申し訳ありませんが、ご回答頂けると幸いです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ローカル環境で動くのに本番環境で動かない(セッション変数が渡せず)

    以下は、 (1) テキストフォームに記入された値をPOSTすると (2) 文字列はSESSION変数としてセットされてpage2に遷移し (3) page2 に書き出される というものですが、 ローカルのWInXP(SP3)+IIS+PHP5.2.6では動作するプログラムが 今般レンタルしたサーバー上で(FreeBSD+Apache1.3.37+PHP5.2.2) では動作しません。 具体的には、page2.phpに遷移できずに Warning: Cannot modify header information - headers already sent by (output started at /usr/home/myaccountname/public_html/page1.php:7) in /usr/home/myaccountname/public_html/page1.php on line 14 となります。 ちなみに、page1.phpの<?php $_SERVER["PHP_SELF"] ?>を page1.phpに書き換えても改善ありませんでした。 ローカルで動いていたものがそのまま動作するとも思っていませんが、 見直すべき設定項目として、何がありますでしょうか? ---------------------------page1.php <?php session_cache_limiter('none'); session_start(); ?> <html> <body> <form method="post" action="<?php $_SERVER["PHP_SELF"] ?>"> <input type="text" name="email"> <input type="submit" name="reg"> </form> <?php if ($_POST['email'] != "") { $_SESSION["email"] = $_POST["email"]; header("Location: page2.php"); } ?> </body> </html> ---------------------------page2.php <?php session_cache_limiter('none'); session_start(); ?> <html><body> <?php echo $_SESSION["email"]; ?> </body></html>

    • ベストアンサー
    • PHP
  • PHP4からPHP5へ移行した際、セッションがおかしい

    サーバー移転に伴い、PHPのバージョンが4から5に変更になりました。 大部分は、変更することなく動作しているのですが、セッションを利用している部分がうまく動作してくれません。 ソースは全く変更していませんので、PHP4とPHP5の仕様の違い以外に思いつく理由が見当たりません。 具体的に説明しようにも、何が間違っているのかわからない状態です。 ただ一つ、明確な症状としては、$_SESSIONに値が格納されない、あるいは勝手に破棄されてしまう。ということです。 PHP4からPHP5に移行する際、セッション周りで変更すべき点などがあれば教えていただけないでしょうか。 宜しくお願いします。

    • 締切済み
    • PHP
  • セッションクローズをしなかったCD-Rのプロパティについて。

    いつもお世話になっております。 今回も宜しく御願いいたします。 CD-ROMのプロパティで ファイルシステム 「未フォーマット」 使用領域 「0バイト」 空き領域 「0バイト」 容量   「0バイト」 (開いてみると 中にはフォルダやファイルなどはありません。) となったCD-ROMがあります。(CD-R700MB) 私なりにネットで調べてみたのですが これは焼き付けた際にセッションクローズをしていないものなのでしょうか?  (セッションクローズという単語も今回はじめて知った言葉なのです・・) このCD-ROMの中に大切なデータが入っているわけでもないので 処分するだけで困りはしないのですが 勉強のために教えていただければと思い投稿しました。 質問の内容がわかりにくいかもしれませんが 宜しく御願いいたします。

  • BD-Rディスク書き込みでセッションクローズの要否

    BD-RディスクのPCデータ書き込みで、セッションをクローズする必要はありますか? 動画や音楽などのPCデータを保存するためにブルーレイディスクを活用しています。PCを買い換える等、環境が変わったためにディスク内容が見られなくなるのではないかと心配しています。ソフトウェアにはCyberLink Power2go Ver.7を使用しています。 マイクロソフトのサポートページには、「他のPCで利用するためには、BD-Rはセッションクローズが必要」と書かれていました。 ここからは私の推測ですが・・・ (Windows環境とはまるきり違いますが)BDレコーダーでAVCREC方式でもって録画したディスクは閉じる必要がないという事実から考えて、PCデータが収録されたディスクも本来セッションクローズは不必要ではないか。 マイクロソフトがセッションクローズを主張するのは、クローズしなかったためにディスク内データが利用できなくなり、訴訟リスクに発展することを恐れているのではないか。そういう風に考えています。 ご協力、よろしくお願いします。

  • au my pageって

    タイトル通りなんですが au my pageって何ですか? 登録してから使用していないので このまま使用しないと10日で自動解約となり、 保存されたデーターも消えてしまいます。 と言う内容のメールが届きました。 意味が分らないので教えて下さい。

    • ベストアンサー
    • au
  • OPENPNE 招待メール送信ができません

    はじめまして。 自宅サーバにてOPENPNEを構築したのですが、 招待メールが送信できません。 環境は postfix-2.2.10-1 mysql-4.1.20 php-4.3.9 OpenPNE2.10.0 (ほかのOPENPNEのバージョンも送信できてませんでした) postfix自体は問題なく動作していますが、OPENPNEからの送信はmaillogにもはき出されていない状態です。 mysqlのc_member_preテーブルのsessionには値が入っているので、 肝心のメールへは飛んでいません。。 内部にも飛んでいる様子がありません。 特にフィルタもかけていません。 これはインストールになにか問題があるのでしょうか?それともサーバ側でしょうか?バージョンを変えてもメール招待だけが送れないのでアドバイス教えて頂けますでしょうか? 宜しくお願いします。

    • 締切済み
    • PHP