Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Bonjour,
Je suis bloqué à ce niveau la
Je ne parviens pas à ajouter les informations de ma base de donnée tels que : nom et prenom. Je n'arrive qu'à afficher et modifier le pseudo et le mot de passe
Je vous laisse le code
Je vous remercie par avance
modifier.php
<?php
session_start();
include_once('includes.php');
if(!isset($_SESSION['pseudo'])){
header('Location: accueil.php');
exit;
}
if(!empty($_POST)){
extract($_POST);
$valid = true;
if($modifier == "form"){
$Pseudo = htmlspecialchars(trim($Pseudo));
if(empty($Pseudo)){
$valid = false;
$_SESSION['flash']['danger'] = "Veuillez mettre un pseudo !";
}
$req = $DB->query("Select pseudo from user where idpublic = :id", array('id' => $_SESSION['id']));
$req = $req->fetch();
if($Pseudo == $_SESSION['pseudo']){
$valid = false;
$_SESSION['flash']['info'] = "Votre pseudo est le même";
}
if($valid){
$DB->insert("UPDATE user SET pseudo = :newpseudo where idpublic = :id ", array('id' => $_SESSION['id'], 'newpseudo' => $Pseudo));
$_SESSION['pseudo'] = $Pseudo;
$_SESSION['flash']['success'] = "Votre pseudo a bien été modifié !";
header('Location: modifier.php');
exit;
}
}elseif($modifier == "mdp"){
$Password = trim($Password);
$PasswordConfirmation =trim($PasswordConfirmation);
$NewPassword = trim($NewPassword);
$req = $DB->query("Select * from user where idpublic = :id", array('id' => $_SESSION['id']));
$req = $req->fetch();
if(empty($Password)){
$valid = false;
$_SESSION['flash']['warning'] = "Veuillez mettre votre mot de passe !";
}elseif($Password && empty($PasswordConfirmation)){
$valid = false;
$_SESSION['flash']['warning'] = "Veuillez confirmer votre mot de passe";
}elseif($Password != $PasswordConfirmation){
$valid = false;
$_SESSION['flash']['danger'] = "Votre mot de passe ne correspond pas au mot de passe !";
}else if($req['password'] != (crypt($Password, '$2a$10$1qAz2wSx3eDc4rFv5tGb5t'))){
$valid = false;
$_SESSION['flash']['danger'] = "Votre mot de passe n'est pas le bon !";
}else if(empty($NewPassword)){
$valid = false;
$_SESSION['flash']['warning'] = "Veuillez mettre un nouveau mot de passe !";
}else if($valid){
$DB->insert("UPDATE user SET password = :newpassword where idpublic = :id", array('id' => $_SESSION['id'], 'newpassword' => (crypt($NewPassword, '$2a$10$1qAz2wSx3eDc4rFv5tGb5t'))));
$_SESSION['flash']['success'] = "Votre nouveau mot de passe a été enregistré !";
header('Location: modifier.php');
exit;
}
}
}
?>
<!DOCTYPE html>
<html lang="fr">
<header>
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
<link href="bootstrap/js/bootstrap.js" rel="stylesheet" type="text/css"/>
<link href="style.css" rel="stylesheet" type="text/css" media="screen"/>
<title>Modifier profil</title>
</header>
<body>
<?php
if(isset($_SESSION['flash'])){
foreach($_SESSION['flash'] as $type => $message): ?>
<div id="alert" class="alert alert-<?= $type; ?> infoMessage"><a class="close">X</span></a>
<?= $message; ?>
</div>
<?php
endforeach;
unset($_SESSION['flash']);
}
?>
<div class="container-fluid">
<div class="row">
<div class="col-xs-1 col-sm-2 col-md-3"></div>
<div class="col-xs-10 col-sm-8 col-md-6">
<h1 class="index-h1">Modifier votre profil</h1>
<br/>
<form method="post" action="modifier.php">
<label>Pseudo</label>
<input class="input" type="text" name="Pseudo" placeholder="Pseudo" value="<?= $_SESSION['pseudo']; ?>" maxlength="20" required="required">
<br/>
<br/>
<div class="row">
<div class="col-xs-0 col-sm-10 col-md-2"></div>
<div class="col-xs-12 col-sm-2 col-md-8">
<input type="hidden" value="form" name="modifier"/>
<button type="submit">Modifier</button>
</div>
<div class="col-xs-0 col-sm-1 col-md-2"></div>
</div>
</form>
<br/>
<br/>
<form method="post" action="modifier.php">
<label>Mot de passe</label>
<input class="input" type="password" name="Password" value="<?php if(isset($Password)){ echo $Password; }?>" placeholder="Mot de passe" required="required"/>
<br/>
<label>Confirmez votre mot de passe</label>
<input class="input" type="password" name="PasswordConfirmation" value="<?php if(isset($PasswordConfirmation)){ echo $PasswordConfirmation; }?>" placeholder="Confirmation du mot de passe" required="required"/>
<br/>
<label>Nouveau mot de passe</label>
<input class="input" type="password" name="NewPassword" placeholder="Nouveau mot de passe" required="required"/>
<br/><br/>
<div class="row">
<div class="col-xs-0 col-sm-10 col-md-2"></div>
<div class="col-xs-12 col-sm-2 col-md-8">
<input type="hidden" value="mdp" name="modifier"/>
<button type="submit">Modifier</button>
</div>
<div class="col-xs-0 col-sm-1 col-md-2"></div>
</div>
</form>
<br/>
<a href="accueil.php">Retour accueil</a>
</div>
<div class="col-xs-1 col-sm-2 col-md-3"></div>
</div>
</div>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
Bonjour,
Finalement, j'ai utilisé mon ancien code.
Ce dernier m'a permis d’introduire 7 zone modifiable par les utilisateurs (nom, prenom, role, email, etat_compte, numero_client, avatar)
Toute ses zones sont reliés à ma base de donnée
Voici mon code de l'espace de modification de profile
edit_infos
<?php
error_reporting(0);
?>
<?php
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<link rel="shortcut icon" type="image/x-icon" href="default/favicon.ico" />
<link href="default/style-bouton-vert.css" rel="stylesheet" title="Style" />
<link href="default/style-bouton-bleu.css" rel="stylesheet" title="Style" />
<link rel="stylesheet" type="text/css" href="default/style-bouton-rouge.css">
<link rel="stylesheet" type="text/css" href="default/style-bte.css">
<title>Modifier ses informations personnelles</title>
</head>
<body>
<div class="header">
<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
</div>
<?php
//On verifie si lutilisateur est connecte
if(isset($_SESSION['username']))
{
//suppression du compte utilisateur
if($_GET['action'] == 'deleteme') {
$reqsup = "DELETE FROM users WHERE username = '".$_SESSION['username']."'";
mysql_query($reqsup);
unset($_SESSION['username'], $_SESSION['userid']);
?>
<div class="message">Vos informations ont bien été supprimée.<br />
<a href="index.php">Aller à l'acceuil</a></div>
<?php
}
//On verifie si le formulaire a ete envoye
if(isset($_POST['numero_client'], $_POST['nom'], $_POST['prenom'], $_POST['username'], $_POST['role'], $_POST['etat_compte'], $_POST['abonnement'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']))
{
//On enleve lechappement si get_magic_quotes_gpc est active
if(get_magic_quotes_gpc())
{
$_POST['numero_client'] = stripslashes($_POST['numero_client']);
$_POST['nom'] = stripslashes($_POST['nom']);
$_POST['prenom'] = stripslashes($_POST['prenom']);
$_POST['username'] = stripslashes($_POST['username']);
$_POST['role'] = stripslashes($_POST['role']);
$_POST['etat_compte'] = stripslashes($_POST['etat_compte']);
$_POST['abonnement'] = stripslashes($_POST['abonnement']);
$_POST['password'] = stripslashes($_POST['password']);
$_POST['passverif'] = stripslashes($_POST['passverif']);
$_POST['email'] = stripslashes($_POST['email']);
$_POST['avatar'] = stripslashes($_POST['avatar']);
}
//On verifie si le mot de passe et celui de la verification sont identiques
if($_POST['password']==$_POST['passverif'])
{
//On verifie si le mot de passe a 6 caracteres ou plus
if(strlen($_POST['password'])>=6)
{
//On verifie si lemail est valide
if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
{
//On echape les variables pour pouvoir les mettre dans une requette SQL
$numero_client = mysql_real_escape_string($_POST['numero_client']);
$nom = mysql_real_escape_string($_POST['nom']);
$prenom = mysql_real_escape_string($_POST['prenom']);
$username = mysql_real_escape_string($_POST['username']);
$role = mysql_real_escape_string($_POST['role']);
$etat_compte = mysql_real_escape_string($_POST['etat_compte']);
$abonnement = mysql_real_escape_string($_POST['abonnement']);
$password = mysql_real_escape_string($_POST['password']);
$email = mysql_real_escape_string($_POST['email']);
$avatar = mysql_real_escape_string($_POST['avatar']);
//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
$dn = mysql_fetch_array(mysql_query('select count(*) as nb from users where username="'.$username.'"'));
//On verifie si le pseudo a ete modifie pour un autre et que celui-ci n'est pas deja utilise
if($dn['nb']==0 or $_POST['username']==$_SESSION['username'])
{
//On modifie les informations de lutilisateur avec les nouvelles
if(mysql_query('update users set numero_client="'.$numero_client.'", nom="'.$nom.'", prenom="'.$prenom.'", username="'.$username.'", role="'.$role.'", etat_compte="'.$etat_compte.'", abonnement="'.$abonnement.'", password="'.$password.'", email="'.$email.'", avatar="'.$avatar.'" where id="'.mysql_real_escape_string($_SESSION['userid']).'"'))
{
//Si ca a fonctionne, on naffiche pas le formulaire
$form = true;
//On supprime les sessions username et userid au cas ou il aurait modifie son pseudo
?>
<div class="message">Vos informations ont bien été modifiée. <br /></div>
<?php
}
else
{
//Sinon on dit quil y a eu une erreur
$form = true;
$message = 'Une erreur est survenue lors des modifications.';
}
}
else
{
//Sinon, on dit que le pseudo voulu est deja pris
$form = true;
$message = 'Un autre utilisateur utilise déjà le nom d\'utilisateur que vous désirez utiliser.';
}
}
else
{
//Sinon, on dit que lemail nest pas valide
$form = true;
$message = 'L\'email que vous avez entré n\'est pas valide.';
}
}
else
{
//Sinon, on dit que le mot de passe nest pas assez long
$form = true;
$message = 'Le mot de passe que vous avez entré contien moins de 6 caractères.';
}
}
else
{
//Sinon, on dit que les mots de passes ne sont pas identiques
$form = true;
$message = 'Les mot de passe que vous avez entré ne sont pas identiques.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<strong>'.$message.'</strong>';
}
//Si le formulaire a deja ete envoye on recupere les donnes que l'utilisateur avait deja insere
if(isset($_POST['username'],$_POST['password'],$_POST['email']))
{
$numero_client = htmlentities($_POST['numero_client'], ENT_QUOTES, 'UTF-8');
$nom = htmlentities($_POST['nom'], ENT_QUOTES, 'UTF-8');
$prenom = htmlentities($_POST['prenom'], ENT_QUOTES, 'UTF-8');
$username = htmlentities($_POST['username'], ENT_QUOTES, 'UTF-8');
if($_POST['password']==$_POST['passverif'])
{
$password = htmlentities($_POST['password'], ENT_QUOTES, 'UTF-8');
}
else
{
$password = '';
}
$role = htmlentities($_POST['role'], ENT_QUOTES, 'UTF-8');
$etat_compte = htmlentities($_POST['etat_compte'], ENT_QUOTES, 'UTF-8');
$abonnement = htmlentities($_POST['abonnement'], ENT_QUOTES, 'UTF-8');
$email = htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8');
$avatar = htmlentities($_POST['avatar'], ENT_QUOTES, 'UTF-8');
}
else
{
//Sinon, on affiche les donnes a partir de la base de donnee
$dnn = mysql_fetch_array(mysql_query('select id,nom,prenom,username,numero_client,role,etat_compte,abonnement,password,email,avatar from users where username="'.$_SESSION['username'].'"'));
$numero_client = htmlentities($dnn['numero_client'], ENT_QUOTES, 'UTF-8');
$nom = htmlentities($dnn['nom'], ENT_QUOTES, 'UTF-8');
$prenom = htmlentities($dnn['prenom'], ENT_QUOTES, 'UTF-8');
$username = htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8');
$role = htmlentities($dnn['role'], ENT_QUOTES, 'UTF-8');
$etat_compte = htmlentities($dnn['etat_compte'], ENT_QUOTES, 'UTF-8');
$abonnement = htmlentities($dnn['abonnement'], ENT_QUOTES, 'UTF-8');
$password = htmlentities($dnn['password'], ENT_QUOTES, 'UTF-8');
$email = htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8');
$avatar = htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8');
}
//On affiche le formulaire
?>
<p><span style="font-family: tahoma, arial, helvetica, sans-serif; color: #1da1f2; font-size: xx-large;"><strong>Modifier mes informations</strong></span></p>
<p> </p>
<span style="color:white"><div class="content">
<form action="edit_infos.php" method="post">
Vous pouvez modifier vos informations:<br />
<div class="center">
<label for="nom"> Nom</label>
<html>
<style>
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
</style>
<div class="tooltip"><input type="text" disabled="disabled" name="nom" id="nom" value="<?php echo $nom; ?>" /><br />
<span class="tooltiptext">Pour modifier votre nom, contacter nous</span>
</div>
</body>
</html>
<p></p>
<label for="prenom"> Prenom</label>
<html>
<style>
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
</style>
<div class="tooltip"><input type="text" disabled="disabled" name="prenom" id="prenom" value="<?php echo $prenom; ?>" /><br />
<span class="tooltiptext">Pour modifier votre prenom, contacter nous</span>
</div>
</body>
</html>
<p></p>
<label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo $username; ?>" /><br />
<label for="password">Mot de passe<span class="small">(6 caractères min.)</span></label><input type="password" name="password" id="password" value="<?php echo $password; ?>" /><br />
<label for="passverif">Mot de passe<span class="small">(vérification)</span></label><input type="password" name="passverif" id="passverif" value="<?php echo $password; ?>" /><br />
<label for="email">Email</label><input type="text" name="email" id="email" value="<?php echo $email; ?>" /><br />
<!--BOUTON VALIDATION-->
<input type="submit" class="Boutton-bleu" value="Modifier" /></div>
<!--BOUTON VALIDATION-->
<!--BOUTON CACHE-->
<p> </p>
<h4>Numero de client :</h4>
<html>
<style>
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
width: 120px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
</style>
<body style="text-align:left;">
<div class="tooltip"><p><strong><span style="font-family: arial, helvetica, sans-serif; color: red"><?php echo $numero_client; ?></span></strong></p>
<span class="tooltiptext">Ce numéro nous sera utile pour identifier votre compte</span>
</div>
</body></span>
<p> </p>
<h4>Role:</h4><strong><span style="text-align: left; font-family: arial, helvetica, sans-serif; color: #1da1f2;"><?php echo $role; ?></span></strong>
<p> </p>
<h4>Etat du compte:</h4><p><strong><span style="text-align: left; font-family: arial, helvetica, sans-serif; color: green;"><?php echo $etat_compte; ?></span></strong></p>
<p> </p>
<div class="info">Ici vous pouvez, si vous le souhaitez, modifier ou supprimer vos informations personnelles.</div>
<div class="error">ATTENTION : La suppression de votre compte, effacera l'intégralité de vos informations personnelles, cette opération est irréversible !!!</div>
<input type="hidden" name="numero_client" id="numero_client" value="<?php echo $numero_client; ?>" /><br />
<input type="hidden" name="nom" id="nom" value="<?php echo $nom; ?>" /><br />
<input type="hidden" name="prenom" id="prenom" value="<?php echo $prenom; ?>" /><br />
<input type="hidden" name="abonnement" id="abonnement" value="<?php echo $abonnement; ?>" /><br />
<input type="hidden" name="avatar" id="avatar" value="<?php echo $avatar; ?>" /><br />
<input type="hidden" name="role" id="role" value="<?php echo $role; ?>" /><br />
<input type="hidden" name="etat_compte" id="etat_compte" value="<?php echo $etat_compte; ?>" /><br />
<!--FIN BOUTON CACHE-->
<div class="Button-red"><a href="edit_infos.php?action=deleteme" onclick="return(confirm('La supression de votre compte effacera l\'intégralité de vos données. Pour confirmer la supression, cliquer sur Ok'));">Je veux supprimer mon compte!</a>
</div>
</form>
</div>
<?php
}
}
else
{
?>
<div class="message-error">Pour accéder à cette page, vous devez être connecté.<br />
<a href="connexion.php">Se connecter</a></div>
<?php
}
?>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="http://192.168.1.16/web">Accueil du site</a></div>
</body>
</html>
A bientôt et merci à tous les participants😀
Bonjour,
Je vais essayé d'être le plus claire possible😌
J'ai déjà ajouter une colonne dans ma base de donnée : nom, prenom, pseudo, mot de passe etc...
Mais mon problème c'est que je n'arrive pas à permettre a mes membres de modifier leurs informations nom, prenom
Pour le moment ils ne peuvent justes modifier leurs pseudos et mot de passes
En gros je souhaiterai ajouter deux champs de plus pour le nom et prénom qui seront modifiable et mise à jour a chaque modifications qu'ils effectueront.
J'espère que vous pourrez m'aider ?
Merci
Salut @Nico19,
Pourrais-tu développer précisément ton problème afin que nous puissions t'aider au mieux ?
Serais-ce un UPDATE
ou un INSERT INTO
qui ne fonctionne pas dans ta requête SQL ?
Non !!! Je sais ajouter des colonnes. Mais ce que je n'arrive pas a faire c'est insérer des champs php comme le nom et prénom, qui seront modifiable par les membres au lieu du pseudo et le mot de passe.
Merci😀
Re:
Ah d'accord, si je comprends bien tu souhaites ajouter des colonnes supplémentaires dans ta base de données ? 🤔 Consulte ceci pour rajouter les colonnes supplémentaires 😉
Par ailleurs, je te renvoie sur la documentation concernant <input>
😉
Bonjour,
J'ai obtenu le code grâce à la vidéo YouTube de Sitedudev pour la Connexion / déconnexion et au lien vers le code PHP.
Oui j'arrive a me connecter à la base de donnée et a saisir les identifiants et mot de passe. Pas de problèmes au niveau Mysql ni de connexion apparemment.
Mais par contre mon problème c'est que je ne sais pas insérer d'autre champ que pseudo et password. En effet je souhaiterai insérer d'autre champ modifiable tels que : nom, prénom, âge
Comment faire ?
Merci d'avance😀