Editer un profil
Fermé
dimi
-
Modifié le 14 juil. 2018 à 14:45
jordane45 Messages postés 38402 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 février 2025 - 14 juil. 2018 à 15:24
jordane45 Messages postés 38402 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 1 février 2025 - 14 juil. 2018 à 15:24
A voir également:
- Editer un profil
- Qui regarde mon profil facebook - Guide
- Qui regarde mon profil instagram - Guide
- Photo de profil - Guide
- Capture d'écran photo de profil whatsapp - Accueil - Messagerie instantanée
- Comment editer un pdf - Guide
3 réponses
NHenry
Messages postés
15186
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 janvier 2025
352
14 juil. 2018 à 14:57
14 juil. 2018 à 14:57
Un message d'erreur, une requête SQL incorrecte, un mauvais affichage, autre ?
Utilisateur anonyme
14 juil. 2018 à 14:57
14 juil. 2018 à 14:57
Bonjour
Ton mot de passe s'appelle newmdp dans don formulaire :
mais tu testes newmdp1 dans ton traitement :
Ton mot de passe s'appelle newmdp dans don formulaire :
<input type="password" name="newmdp" placeholder="Votre mot de passe" /></br></br>
mais tu testes newmdp1 dans ton traitement :
if(isset($_POST['newmdp1'])...
jordane45
Messages postés
38402
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 février 2025
4 732
14 juil. 2018 à 15:24
14 juil. 2018 à 15:24
Bonjour,
Pleins d'erreurs.......
Du code placé hors de tes IF alors qu'il devrait s'y trouver
Des variables mal nommées...
Le code mal agencé...
Je t'invite vivement à lire et à appliquer le contenu de ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Puis à essayer ceci :
Pleins d'erreurs.......
Du code placé hors de tes IF alors qu'il devrait s'y trouver
Des variables mal nommées...
Le code mal agencé...
Je t'invite vivement à lire et à appliquer le contenu de ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Puis à essayer ceci :
<?php session_start(); //Affichage des erreurs de code error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //Connexion à la BDD (tu ferais mieux de la mettre dans un ficier à part que tu n'aurais qu'à inclure dans tes différentes // pages au lieu de la ré-écire à chaque fois... try{ $bdd =new PDO('mysql:host=localhost;dbname=espace_membre; charset=utf8', 'root', ''); // Activation des erreurs PDO $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } // fonction pour effectuer les requêtes SQL sans avoir à réécrire à chaque fois les try/catch function executeQuery($sql,$datas=NULL){ global $bdd; try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } return $requete; } /** * Mise à jour des infos du membre */ function update_membres($id, $Nom = NULL ,$Email= NULL ,$Mdp = NULL, $avatar=NULL){ $a_datas = array(); $arrTmp = array(); if($Nom){ $arrTmp[] = "nom = ?"; $a_datas[] = $Nom; } if($Email){ $arrTmp[] = "mail = ?"; $a_datas[] = $Email; } if($Mdp){ $arrTmp[] = "motdepasse = ?"; $a_datas[] = $Mdp; } if($avatar){ $arrTmp[] = "avatar = ?"; $a_datas[] = $avatar; } //on ajoute l'ID dans les DATAS pour la mise à jour $a_datas[] = $id; $datasAUpdate = join(",",$arrTmp);// on genere les champs à mettre à jour //on prepare la requête $sql = "UPDATE membres SET ". $datasAUpdate ." WHERE id = ? "; return executeQuery($sql,$a_datas); } /** Fonction de redirection sur le profil du user */ function redirectProdil($id){ // header('Location:profil.php?id='.$id); // on desactive les redirections le temps des tests.. sinon tu ne peux pas voir les erreurs ! // exit(); //toujours mettre un exit après une redirection ! } //récupération PROPRE des variables AVANT de les utiliser $id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL; $newnom = !empty($_POST['newnom']) ? $_POST['newnom'] : NULL; $newmail = !empty($_POST['newmail']) ? $_POST['newmail'] : NULL; $newmdp1 = !empty($_POST['newmdp1']) ? $_POST['newmdp1'] : NULL; $newmdp2 = !empty($_POST['newmdp2']) ? $_POST['newmdp2'] : NULL; $msg = array(); //debut du traitement if($id) { //recupération des informations de l'utilisateur //preparation de la requetes et de ses variables $sql = "SELECT * FROM membres WHERE id = ?"; $datas = array($id); //Execution de la requete $requete = executeQuery($sql,$datas); $user = $requete->fetch(); $usr_nom = $user['nom']; $NomToInsert = $newnom != $usr_nom ? $newnom : NULL; $mailToInsert = $newmail != $user['mail'] ? $newmail : NULL; $mdpToTinsert = !empty($mdp1) && $mdp1 == $mdp2 ? sha1($mdp1) : NULL; $NewAvatar = !empty($uploadedAvatar) ? $id.".".$extensionsUpload : NULL; $avatar = !empty($_FILES['avatar']) ? $_FILES['avatar'] : NULL; $avatar_Name = !empty($avatar['name']) ? $avatar['name'] : NULL; $avatar_Size = !empty($avatar['size']) ? $avatar['size'] : NULL; $avatar_TmpName = !empty($avatar['tmp_name']) ? $avatar['tmp_name'] : NULL; if($avatar_Name) { $tailleMax = 2097152; $extensionsValides = array('jpg','jpeg','gif','png'); if( $avatar_Size <= $tailleMax) { $extensionsUpload = strtolower(substr(strrchr($avatar_Name, '.'), 1)); if(in_array($extensionsUpload, $extensionsValides)){ $uploadedAvatar = $id.".".$extensionsUpload; $chemin = "membres/avatars/".$uploadedAvatar; if(move_uploaded_file($avatar_TmpName, $chemin)) { } else { $uploadedAvatar = NULL; $msg[] = "Erreur durant l'importation de votre photo profil"; } } else { $uploadedAvatar = NULL; $msg[] = "Votre Photo profil doit etre au format jpg jpeg gif et png"; } } else { $uploadedAvatar = NULL; $msg[] = "Votre photo de profil ne doit pas dépasser 2Mo"; } } if($mdp1 != $mdp2){ $msg[] = "Vos 02 mots de passes ne correspondent pas !"; } if(empty($msg)){ // si pas d'erreur... on fait la redirection redirectProdil($id); } }else{ header("Location: connexion.php"); exit(); } ?> <html> <head> <title>Wotrom.com</title> <meta charset="utf-8"> </head> <body> <div align="left"> <h2>Editer Votre profil</h2> <form method="POST" action="" enctype="multipart/form-data"> <input type="text" name="newnom" placeholder="Votre Nom" value="<?php echo $user['nom']; ?>" /></br></br> <input type="email" name="newmail" placeholder="Votre Mail" value="<?php echo $user['mail']; ?>" /></br></br> <input type="password" name="newmdp" placeholder="Votre mot de passe" /></br></br> <input type="password" name="newmdp2" placeholder="confirmer Votre MDP" /></br></br> <input type="file" name="avatar" /></br></br> <input type="submit" value="Mettre a jour mon profil !" /></br></br> <input type="reset" value="Annuler" /></br></br> </form> <?php if(!empty($msg)) { foreach($msg as $err){ echo $err; } } ?> </div> </body> </html>