コード例 #1
0
ファイル: reset_pwd.php プロジェクト: picsoung/NabzFood
 include PATH_LIB . 'form.php';
 $form_reset_pwd = new Form('form_reset_pwd');
 $form_reset_pwd->method('POST');
 $form_reset_pwd->add('Text', 'email_adress')->label('Votre adresse e-mail');
 $form_reset_pwd->add('Submit', 'submit')->value('Envoyer informations');
 //errors and message arrays
 $error_reset_pwd = array();
 $msg_confirm = array();
 //operations on the reset form
 if ($form_reset_pwd->is_valid($_POST)) {
     $email_addr = $form_reset_pwd->get_cleaned_data('email_adress');
     $user_id = find_user_id($email_addr);
     if ($user_id !== false) {
         $new_pwd = gen_new_pwd();
         //generate a new password
         update_password_user($user_id, $new_pwd);
         //update the modification
         $msg_confirm[] = "Mot de passe réinitialisé avec succès, vous recevrez prochainement un mél avec vos différentes informations de connexion. Attention pensez à changer le nouveau mot de passe pour le retenir plus facilement.";
         $infos_user = read_infos_user($user_id);
         // Preparation du mail
         $message_mail = "<html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"> </head><body> <p>Nouveau mot de passe <b>NabzFood</b>.</p> <p>Vous avez demandé à changer votre mot de passe pour le site Nabzfood, ce mél est la confirmation que tout s'est bien passé.</p><p>Vos nouvelles informations de connexion : </p><p>Login : "******"</p><p>Mot de passe : " . $new_pwd . "</p>";
         if (!empty($infos_user['hash_validation'])) {
             print_r($infos_user);
             $hash_validation = $infos_user['hash_validation'];
             $message_mail .= "<p>Lien pour valider votre compte : <a href=\"http:\\//" . $_SERVER['PHP_SELF'] . "?module=members&amp;action=valid_account&amp;hash=" . $hash_validation . "\">ce lien</a> pour activer votre compte !</p>";
         }
         //end of empty hash_validation
         $message_mail .= "</body></html>";
         $subject = "[Nabzfood] Réinitialisation mot de passe";
         // Envoi du mail
         include './modules/mail/mail.php';
コード例 #2
0
ファイル: edit_profile.php プロジェクト: picsoung/NabzFood
                if (23000 == $error[0]) {
                    // Le code d'erreur 23000 signifie "doublon" dans le standard ANSI SQL
                    preg_match("`Duplicate entry '(.+)' for key \\d+`is", $error[2], $value_pb);
                    $value_pb = $value_pb[1];
                    if ($email_addr == $value_pb) {
                        $errors_form_infos[] = "Cette adresse e-mail est déjà utilisée.";
                    } else {
                        $errors_form_infos[] = "Erreur ajout SQL : doublon non identifié présent dans la base de données.";
                    }
                } else {
                    $errors_form_infos[] = sprintf("Cette adresse e-mail est déjà utilisée.");
                }
            }
        }
        //end test !empty email_addr
    } else {
        if ($form_edit_password->is_valid($_POST)) {
            //same password test
            if ($form_edit_password->get_cleaned_data('new_password') != $form_edit_password->get_cleaned_data('verif_new_password')) {
                $errors_form_password[] = "Les deux mots de passes entrés sont différents";
            } else {
                $new_password = $form_edit_password->get_cleaned_data('new_password');
                update_password_user($_SESSION['id'], $new_password);
                $msg_confirm = "Votre mot de passe a correctement été mis à jour.";
            }
        }
    }
    //end of is_valid($Post)
    include PATH_VIEW . 'form_edit_profile.php';
}
//end of !user_connected