Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

<p><strong>Nom :</strong> <?= $_SESSION['auth']->nom; ?></p>
<p><strong>Prénom :</strong> <?= $_SESSION['auth']->prenom; ?></p>

Ce que je veux

Alors tout s'affiche niquel.
Si je veux changer mon nom avec la même technique que le mot de passe ça marche niquel mais pour que ça sa s'affiche je dois me déco et me reconnecter.
Ne peut on pas faire autrement pour que ça se mette à jour une fois le nom ou prénom changer ?

Merci d'avance pour vos réponses.

4 réponses


Salut,

Soit plus clair Nouchi, c'est incompréhensible.

Nouchi35
Auteur

bah avec le code " <strong>Prénom :</strong> <?= $_SESSION['auth']->prenom; ?>"

ça m'affiche les donnés du connecté qu'après chaque connexion.

En gros si il change son prénom et va voir ou se trouve se code et bien ça a pas changer sauf si il se reconnecte.

Du coup je voulais que quand il change son prénom, le code php qui va chercher le prénom charge automatiquement.

Je pense qu'il faut changer le "auth" mais je sais pas par quoi.

Sinon j'ai essayer ça :
<?php
connexion à la base de donné
$reponse = mysql_query ("SELECT * FROM Membres WHERE id = ?"); // Requête SQL

while ($donnees = mysql_fetch_array($reponse)) // On boucle pour afficher toutes les données et on met toutes données dans un tableau
{
?>
<?php echo $donnees['nom'];?> |
<?php echo $donnees['prenom'];?> |
<?php echo $donnees['club'];?>
<?php
}
mysql_close(); // On oubli pas de déconnecter la base de données
?>

à la plce de "id = ?" je ne vois pas quoi mettre car comme ça ça ne marche pas.

Bonjour.
Il te suffit de modifier les valeurs dans la variable de session, ça ne va pas se faire tout seul.
En gros :

/* Ton code de traitement pour la modification en base de données ...*/
$_SESSION['auth']->prenom = $_POST['prenom'];
/* etc ...*/

Ou alors, au lieu de modifier chaque valeur une après l'autre, après la sauvegarde en base de données, tu récupères les données de l'utilisateur en base de données et tu les injectes dans la clé auth de la variable $_SESSION.

à la plce de "id = ?" je ne vois pas quoi mettre car comme ça ça ne marche pas.

Il te suffit d'indiquer l'id de l'utilisateur dans la clé auth de la variable $_SESSION, de cette manière tu pourras récupérer l'id de l'utilisateur à n'importe quel moment et donc dans ta requête SQL pour récupérer les informations de l'utilisateur.
Par contre normalement mysql_* est déprécié, soit tu utilises mysqli_* ou alors PDO.

Nouchi35
Auteur

Finalement j'ai fini par trouver la solution.
Elle venait de "("SELECT * FROM Membres WHERE id = $user_id");

car dans mon login c'est un "$user_id".

C'était tout con :p