Édition de profil en PHP
Fermé
TitouanPrs
Messages postés
47
Date d'inscription
dimanche 30 juillet 2017
Statut
Membre
Dernière intervention
27 juin 2019
-
Modifié le 22 juil. 2018 à 22:21
TitouanPrs Messages postés 47 Date d'inscription dimanche 30 juillet 2017 Statut Membre Dernière intervention 27 juin 2019 - 24 juil. 2018 à 15:28
TitouanPrs Messages postés 47 Date d'inscription dimanche 30 juillet 2017 Statut Membre Dernière intervention 27 juin 2019 - 24 juil. 2018 à 15:28
A voir également:
- Édition de profil en PHP
- Qui regarde mon profil facebook - Guide
- Photo de profil - Guide
- Qui regarde mon profil instagram - Guide
- Macrium reflect 7 free edition - Télécharger - Sauvegarde
- Ajouter un profil netflix payant - Guide
2 réponses
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
23 juil. 2018 à 01:14
23 juil. 2018 à 01:14
TitouanPrs
Messages postés
47
Date d'inscription
dimanche 30 juillet 2017
Statut
Membre
Dernière intervention
27 juin 2019
Modifié le 24 juil. 2018 à 14:47
Modifié le 24 juil. 2018 à 14:47
Merci :)
J'ai réussi à le faire mais il m'affiche l'ID avant le username :
https://drive.google.com/file/d/1b3sRH5tS8O0wjB2bEV2nYs-_sp3k5NhW/view?usp=drive_open
Je souhaiterais enlever cet ID d'avant le username, afin que seul le username soit affiché.
Si vous voulez le code complet :
https://drive.google.com/drive/folders/1VlDVjcJNI0quzW6xBivs9Q0QNKbS87cu?usp=drive_open
Merci d'avance :)
J'ai réussi à le faire mais il m'affiche l'ID avant le username :
https://drive.google.com/file/d/1b3sRH5tS8O0wjB2bEV2nYs-_sp3k5NhW/view?usp=drive_open
Je souhaiterais enlever cet ID d'avant le username, afin que seul le username soit affiché.
Si vous voulez le code complet :
https://drive.google.com/drive/folders/1VlDVjcJNI0quzW6xBivs9Q0QNKbS87cu?usp=drive_open
Merci d'avance :)
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
24 juil. 2018 à 14:59
24 juil. 2018 à 14:59
Merci de poster ton code directement sur le forum ( en utilisant les balises de code : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code )
De plus, seul le code qui correspond à ton image nous interesse pour l'instant.
AU passage, avant de voir si le souci d'affichage ( de ce "1") vient du code... as tu vérifié directement dans ta BDD ce que contiennent tes champs ?
De plus, seul le code qui correspond à ton image nous interesse pour l'instant.
AU passage, avant de voir si le souci d'affichage ( de ce "1") vient du code... as tu vérifié directement dans ta BDD ce que contiennent tes champs ?
TitouanPrs
Messages postés
47
Date d'inscription
dimanche 30 juillet 2017
Statut
Membre
Dernière intervention
27 juin 2019
>
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
Modifié le 24 juil. 2018 à 15:14
Modifié le 24 juil. 2018 à 15:14
Voici le code correspondant à l'image :
Le "1" correspond à l'ID de l'utilisateur.
Oui j'ai bien vérifié ma base de données.
Voici son contenu si vous souhaitez :
https://drive.google.com/file/d/1okkUOnn1uIx4sgX2MxtuvtYRCDVQ1Zk6/view?usp=drive_open
<?php session_start(); require_once('includes/functions.php'); require_once('includes/database.php'); // Modification Pseudonyme if(isset($_POST['username']) && $_POST['username_confirm']) { if(empty($_POST['username'] || $_POST['username_confirm'])) { $_SESSION['flash']['danger'] = "Vous n'avez pas rempli tous les champs."; } elseif($_POST['username'] != $_POST['username_confirm']) { $_SESSION['flash']['danger'] = "Les pseudonymes que vous avez indiqué sont différents."; } elseif(!preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) { $_SESSION['flash']['danger'] = "Le pseudonyme que vous avez indiqué n'est pas valide."; } else { $user_id = $_SESSION['auth']->id; $username = $_POST['username']; $pdo->prepare('UPDATE users SET username = ? WHERE id = ?')->execute([$username, $user_id]); header('Location: settings.php'); $_SESSION['flash']['success'] = "Votre nom d'utilisateur a bien été mis à jour."; exit(); } // Modification Adresse email } elseif(isset($_POST['email']) && $_POST['email_confirm']) { if(empty($_POST['email'] || $_POST['email_confirm'])) { $_SESSION['flash']['danger'] = "Vous n'avez pas rempli tous les champs."; } elseif($_POST['email'] != $_POST['email_confirm']) { $_SESSION['flash']['danger'] = "Les adresses email que vous avez indiqué sont différents."; } elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $_SESSION['flash']['danger'] = "L'adresse email que vous avez indiqué n'est pas valide."; } else { $user_id = $_SESSION['auth']->id; $email = $_POST['email']; $pdo->prepare('UPDATE users SET email = ? WHERE id = ?')->execute([$email, $user_id]); header('Location: settings.php'); $_SESSION['flash']['success'] = "Votre adresse email a bien été mise à jour."; exit(); } // Modification Mot de passe } elseif(isset($_POST['password']) && $_POST['password_confirm']) { if(empty($_POST['password'] || $_POST['password_confirm'])) { $_SESSION['flash']['danger'] = "Vous n'avez pas rempli tous les champs."; } elseif($_POST['password'] != $_POST['password_confirm']) { $_SESSION['flash']['danger'] = "Les mots de passe que vous avez indiqué sont différents."; } else { $user_id = $_SESSION['auth']->id; $password = password_hash($_POST['password'], PASSWORD_BCRYPT); $pdo->prepare('UPDATE users SET password = ? WHERE id = ?')->execute([$password, $user_id]); header('Location: settings.php'); $_SESSION['flash']['success'] = "Votre mot de passe a bien été mis à jour."; exit(); } } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <meta name="description" content="Burger Quiz"/> <meta name="author" content="Titouan Paris"/> <link rel="stylesheet" href="style.css"/> <link rel="icon" href="img/icon.png"/> <title>Burger Quiz - Mon compte</title> </head> <body> <?php include_once('includes/header.php'); access_denied_dashboard(); ?> <h1>Mon compte Burger Quiz</h1> <?php include_once('includes/header_dashboard.php'); ?> <h2>Mes paramètres :</h2> <p>Nom d'utilisateur :</p> <form class="settings_username" action="" method="post"> <table> <tr> <td> <label for="username_now">Pseudonyme actuel</label> </td> <td> <input type="text" name="username_now" id="username_now" value="<?= $user_id = $_SESSION['auth']->id; $req = $pdo->prepare('SELECT username FROM users WHERE id = ?'); $req->execute([$user_id]); $username_db = $req->fetch(); echo($username_db->username); ?>" disabled> </td> </tr> <tr> <td> <label for="username">Nouveau nom d'utilisateur</label> </td> <td> <input type="password" name="username" id="username" placeholder="Nouveau pseudonyme"> </td> </tr> <tr> <td> <label for="username_confirm">Confirmer nouveau nom d'utilisateur</label> </td> <td> <input type="text" name="username_confirm" id="username_confirm" placeholder="Nouveau pseudonyme"> </td> </tr> <tr> <td></td> <td> <input type="submit" name="submit" value="Modifier"> </td> </tr> </table> </form> <p>Adresse email :</p> <form class="settings_email" action="" method="post"> <table> <tr> <td> <label for="email_now">Adresse email actuelle</label> </td> <td> <input type="email" name="email_now" id="email_now" value="<?= $user_id = $_SESSION['auth']->id; $req = $pdo->prepare('SELECT email FROM users WHERE id = ?'); $req->execute([$user_id]); $email_db = $req->fetch(); echo($email_db->email); ?>" disabled> </td> </tr> <tr> <td> <label for="email">Nouvelle adresse email</label> </td> <td> <input type="email" name="email" id="email" placeholder="Nouvelle adresse email"> </td> </tr> <tr> <td> <label for="email_confirm">Confirmer nouvelle adresse email</label> </td> <td> <input type="email" name="email_confirm" id="email_confirm" placeholder="Nouvelle adresse email"> </td> </tr> <tr> <td></td> <td> <input type="submit" name="submit" value="Modifier"> </td> </tr> </table> </form> <p>Mot de passe :</p> <form class="settings_password" action="" method="post"> <table> <tr> <td> <label for="password">Nouveau mot de passe</label> </td> <td> <input type="password" name="password" id="password" placeholder="Nouveau mot de passe"> </td> </tr> <tr> <td> <label for="password_confirm">Confirmer nouveau mot de passe</label> </td> <td> <input type="password" name="password_confirm" id="password_confirm" placeholder="Nouveau mot de passe"> </td> </tr> <tr> <td></td> <td> <input type="submit" name="submit" value="Modifier"> </td> </tr> </table> </form> <?php include_once('includes/footer.php'); ?> </body> </html>
Le "1" correspond à l'ID de l'utilisateur.
Oui j'ai bien vérifié ma base de données.
Voici son contenu si vous souhaitez :
https://drive.google.com/file/d/1okkUOnn1uIx4sgX2MxtuvtYRCDVQ1Zk6/view?usp=drive_open
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
24 juil. 2018 à 15:07
24 juil. 2018 à 15:07
Commence par remplacer les
par
<?=
par
<?php
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
24 juil. 2018 à 15:11
24 juil. 2018 à 15:11
Je t'invite également à gérer correctement les erreurs PDO
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et sinon...
pourquoi faire plusieurs requêtes alors qu'une seule suffirait ??
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et sinon...
pourquoi faire plusieurs requêtes alors qu'une seule suffirait ??
$req = $pdo->prepare('SELECT username FROM users WHERE id = ?'); $req = $pdo->prepare('SELECT email FROM users WHERE id = ?');
$sql = "SELECT username, email FROM users WHERE id = ?" try{ $req = $pdo->prepare($sql); $req->execute([$user_id]); $user = $req->fetch(); }catch(Exception $e){ echo " Erreur : ".$e->getMessage(); }
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
24 juil. 2018 à 15:11
24 juil. 2018 à 15:11
Fais aussi un petit tour ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code