예제 #1
0
$mail = '';
$account = '';
// http://phpspot.net/php/pg%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%EF%BC%9A%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E8%AA%BF%E3%81%B9%E3%82%8B.html
$pattern = "/^([a-zA-Z0-9])+([a-zA-Z0-9\\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\\._-]+)+\$/";
if (count($_POST) > 0) {
    if ($_POST['ad1'] != $_POST['ad2']) {
        $message .= '2つのメールアドレスが異なっています。';
    } else {
        if (preg_match($pattern, $_POST['ad1']) !== 1) {
            $message .= 'メールアドレスの形式が正しくありません。';
        } else {
            require_once '../../INTER-Mediator.php';
            // Set the valid path to INTER-Mediator.php
            $dbInstance = new DB_Proxy();
            $dbInstance->initialize(array(), array('authentication' => array('email-as-username' => true)), array("db-class" => "PDO"), 2);
            $result = $dbInstance->resetPasswordSequenceStart($_POST['ad1']);
            if ($result === false) {
                $message .= 'パスワードのリセット処理に問題が発生しました。登録されたメールアドレスでない可能性があります。';
            } else {
                $dbInstance = new DB_Proxy();
                $dbInstance->initialize(array(array("name" => "authuser", "view" => "authuser", "table" => "dummydummy", "records" => 1, "query" => array(array("field" => "email", "operator" => "=", "value" => $_POST['ad1'])), 'send-mail' => array('read' => array('to' => 'email', 'bcc' => '*****@*****.**', 'subject-constant' => 'パスワードのリセットを受付ました', 'from-constant' => 'Masayuki Nii <*****@*****.**>', 'body-template' => 'requestmail.txt', 'body-fields' => "@{$_POST['ad1']},@{$result['randdata']}", 'f-option' => true, 'body-wrap' => 78)))), array(), array("db-class" => "PDO"), 2, "authuser");
                $dbInstance->processingRequest("read");
                $message .= '<span style="color:black">';
                $message .= 'パスワードのリセットをご案内するメールが、指定されたメールアドレスに送信されました。';
                $message .= '</span>';
                $mail = $_POST['ad1'];
                $account = $result['username'];
            }
        }
    }
}