Bonjour, Je crée actuellement un site web, le problème est que quand je modifie l'adresse email via la page "modifier le profil" la modification ce fait bien dans ma BDD mais sur la page profil de l'utilisateur ça ne change pas, et je ne trouve pas pourquoi.
Page profil de l'utilisateur:
<?php
session_start();
$bdd = new PDO('mysql:localhost=127.0.0.1;dbname=ready-to-run','root','');
if (isset($_SESSION['id']))
{
?>
<!doctype html>
<html lang="fr">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link rel="stylesheet" href="style.css">
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<!--Menu-->
<?php
include('Menu_connect.php');
?>
<!-- Fin sous Menu-->
<!--Banner-->
<!------ Include the above in your HEAD tag ---------->
<body>
<div id="login"><br>
<div class="container-fluid"style="text-align: center;">
<div id="login-row" class="row justify-content-center align-items-center">
<div id="login-column" class="col-md-6">
<div id="login-box-1" class="col-md-12">
<form id="login-form" class="form" action="" method="post">
<h3 class="text-center text-info">Mon profil</h3><br><br>
<div class="form-group">
<label for="username" class="text-info">Pseudo: <?php echo $_SESSION['pseudo'];?></label><br>
</div>
<div class="form-group">
<label for="password" class="text-info">Mot de passe: *********</label><br>
</div>
<div class="form-group">
<label for="remember-me" class="text-info">Mail <?php echo $_SESSION['mail'];?></label><br><br>
<a href="profil_edit_connect.php?id=<?php echo $_SESSION['id'];?>" class="btn btn-primary m-2 mt-4">Modifier mon profil</a>
<a href="index_connect.php?id=<?php echo $_SESSION['id'];?>" class="btn btn-primary m-2 mt-4">Retour</a>
<?php
if(isset($erreur))
{
echo '<font color="red">'.$erreur."</font>";
}
?>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</section>
<!--Fin Banner-->
<!--debut présentation-->
<!--Fin présentation-->
<!--footer-->
<?php
include('footer.php');
?>
<!--fin footer-->
<!-- Optional JavaScript; choose one of the two! -->
<!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
</body>
</html>
<?php
}
?>
Page "Modifier le profil:
<?php
session_start();
if (isset($_SESSION['id']))
{
# code...
?>
<!doctype html>
<html lang="fr">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<link rel="stylesheet" href="style.css">
<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<!--Menu-->
<?php
include('Menu_connect.php');
?>
<!-- Fin sous Menu-->
<?php
ini_set('display_errors', 1);
$bdd = new PDO('mysql:localhost=127.0.0.1;dbname=ready-to-run','root','');
if (isset($_POST['Modifier']))
{
/*---Selectionner l'utilisateur dans la BDD---*/
$requser = $bdd->prepare("SELECT * FROM espace_membre WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
if (isset($_POST['news_mail']) AND !empty($_POST['news_mail']) AND $_POST['news_mail'] != $user['mail'])
{
$newsmail = htmlspecialchars($_POST['news_mail']);
$insertmail = $bdd->prepare("UPDATE espace_membre SET mail = ? WHERE id = ?");
$insertmail->execute(array($newsmail, $_SESSION['id']));
header('location: profil_connect.php?id='. $_SESSION['id']);
}
if (isset($_POST['news_motDePasse']) AND !empty($_POST['news_motDePasse'])AND isset($_POST['news_motDePasse_Confim']) AND !empty($_POST['news_motDePasse_Confim']))
{
$mdp1 = sha1($_POST['news_motDePasse']);
$mdp2 = sha1($_POST['news_motDePasse_Confim']);
if ($mdp1 == $mdp2)
{
$insertmdp = $bdd->prepare("UPDATE espace_membre SET mot_de_passe = ? WHERE id = ?");
$insertmdp->execute(array($mdp1, $_SESSION['id']));
header('location: profil_connect.php?id='.$_SESSION['id']);
}
else
{
$msg = "Vos mot de passe ne corespondent pas!";
}
}
if (isset($_FILES['avatar']) AND !empty($_FILES['avatar']['name']))
{
$tailleMax = 2097152;
$extensionValides = array('jpg', 'jpeg', 'png','gif');
if ($_FILES['avatar']['size'] <= $tailleMax)
{
$extensionUpload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
if (in_array($extensionUpload, $extensionValides))
{
$chemin = "avatar".$_SESSION['id'].".".$extensionUpload;
$resultat = move_uploaded_file($_FILES['avatar']['tmp_name'], $chemin);
if ($resultat)
{
$updateavatar = $bdd->prepare('UPDATE espace_membre SET avatar = :avatar WHERE id = :id');
$updateavatar->execute(array('avatar' => $_SESSION['id'].".".$extensionUpload,'id'=> $_SESSION['id']));
header('location: profil_connect.php?id='.$_SESSION['id']);
}
else
{
$msg = "ERREUR Votre fichier n'a pas ete chargé!!!";
}
}
else
{
$msg = "Votre image de profil doit étre au fomat jpg, jpeg,gif ou png!!!";
}
}
else
{
$msg = "Votre photos de profil ne doit pas depassé 2 Mo";
}
}
}
?>
<!--Banner-->
<!------ Include the above in your HEAD tag ---------->
<body>
<div id="login"><br>
<div class="container-fluid"style="text-align: center;">
<div id="login-row" class="row justify-content-center align-items-center">
<div id="login-column" class="col-md-6">
<div id="login-box-1" class="col-md-12">
<form id="login-form" class="form" action="" method="POST">
<h3 class="text-center text-info">Editer mon profil</h3><br><br>
<div class="form-group">
<label style="float: left; color:#08ABD5">Nouvelle email :</label>
<input type="mail" name="news_mail" class="form-control" placeholder="Entrez votre nouvelle email:">
</div>
<div class="form-group">
<label style="float: left; color:#08ABD5">Nouveau mot de passe :</label>
<input type="password" name="news_motDePasse"class="form-control" placeholder="Entrez votre nouveau mot de passe:">
</div>
<div class="form-group">
<label style="float: left; color:#08ABD5"> Confirmer votre nouveau mot de passe :</label>
<input type="password" name="news_motDePasse_Confim"class="form-control" placeholder="Confirmez votre nouveau mot de passe:">
</div><br>
<div class="form-group">
<label style="float: left; color:#08ABD5"> Votre avatar:</label>
<input type="file" name="avatar"class="form-control">
</div><br>
<div class="form-group">
<input type="submit" name="Modifier" class="btn btn-info btn-md" value="Valider">
<?php
if(isset($erreur))
{
echo '<font color="red">'.$erreur."</font>";
}
if(isset($Valide_modif))
{
echo '<font color="green">'.$Valide_modif."</font>";
}
if (isset($redirec))
{
echo '<font color="red">'.$redirec."</font>";
}
?>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</section>
<!--Fin Banner-->
<!--debut présentation-->
<!--Fin présentation-->
<!--footer-->
<?php
include('footer.php');
?>
<!--fin footer-->
<!-- Optional JavaScript; choose one of the two! -->
<!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
</body>
</html>
<?php
}
?>
Configuration: Windows / Chrome 88.0.4324.182
Afficher la suite
Ca ne se fait pas de façon magique .... à quelle moment (quelles lignes de code) tu prends ce qui se trouve dans la bdd pour le mettre dans cette variable de session ??
Ben oui.. il est bien là le souci .....
Tu nous dis :
Donc.. tu mets à jour dans la bdd...
Mais ensuite..... si tu veux que ça se mette à jour également dans les variables de session .. ben...il faut bien mettre à jour cette variable de session....
Et là... aucune ligne de code ne se charge de ça dans ce que tu nous montres... il est là le souci !!