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&action=valid_account&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';
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