Bon, je suis une véritable quiche en programmation, et essaie de découvrir le PHP.
Mon truc : je suis arrivé à créer un formulaire permettant d’insérer un nouvel utilisateur dans une bdd SQL.
En suivant le tuto ci contre : www.asp-php.net… j’ai créé une “session”, où l’utilisateur créé est bien logué (j’obtiens le bouton “déconnexion” et toussa toussa).
Le truc, c’est que je ne comprends pas comment faire,pour qu’une fois loggué, je sois redirigé vers une page différente selon l’utilisateur.
Par ailleurs, j’essaie d’insérer les données présentes dans une table d’un utilisateur spécifique.
Encore une fois, j’ai suivi le tuto sur le site du zero et utilisé ce code :
[spoiler]<?php
try
{
// On se connecte à MySQL
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO(‘mysql:host=localhost;dbname=test’, ‘root’, ‘’, $pdo_options);
// On récupère tout le contenu de la table jeux_video
$reponse = $bdd->query('SELECT * FROM jeux_video');
// On affiche chaque entrée une à une
while ($donnees = $reponse->fetch())
{
?>
<p>
<strong>Jeu</strong> : <?php echo $donnees['nom']; ?><br />
Le possesseur de ce jeu est : <?php echo $donnees['possesseur']; ?>, et il le vend à <?php echo $donnees['prix']; ?> euros !<br />
Ce jeu fonctionne sur <?php echo $donnees['console']; ?> et on peut y jouer à <?php echo $donnees['nbre_joueurs_max']; ?> au maximum<br />
<?php echo $donnees['possesseur']; ?> a laissé ses commentaires sur <?php echo $donnees['nom']; ?> : <em><?php echo $donnees['commentaires']; ?></em>
</p>
<?php
}
$reponse->closeCursor(); // Termine le traitement de la requête
}
catch(Exception $e)
{
// En cas d’erreur précédemment, on affiche un message et on arrête tout
die('Erreur : '.$e->getMessage());
}
?>
[/spoiler]
Bon, en l’adaptant un peu à ma sauce. Sauf que dans ce cas, ça marche, mais ça me balance les infos de toute la table. Quel est donc le moyen pour n’afficher que les infos de l’utilisateur logué ?
En vous remerciant pour votre aide :ane:
Edité le 10/06/2011 à 13:50
Mais… Je crois qu’il y a un p’tit truc qui ne colle pas
Ce que je cherche, c’est afficher la ligne de l’utilisateur précédemment logué.
Si par exemple je me connecte avec “Toto”, je veux qu’il m’affiche les données de cette ligne 3.
Si je me connecte avec “Titi” (Limagination est une de mes forces !), je veux qu’il m’affiche les données de la ligne 4.
Or, avec la clause “WHERE nom_colonne=valeur”, que dois-je indiquer en valeur ?
Mais je souhaite faire un affichage différent selon la personne loguée, après le remplissage du formulaire précédent par la personne en question. Je ne peux donc pas indiquer “pseudo = Toto” ou “pseudo = Titi”, puisque je ne sais pas qui sera logué !
Je ne sais pas si je me suis fait comprendre et / ou si c’est la bonne procédure… En fait, ma page d’accueil est unique, mais son contenu doit changer selon l’user connecté…
Ce que je cherche à faire sinon, c’est d’avoir une page différente selon l’utilisateur connecté, maos je ne sais pas comment faire… :etonne2:
Tu utilises une session (tu l’as dit plus tôt), donc tu stockes certaines information de ton utilisateur logué dans ta session (sinon tu fais quoi avec ta session ?).
Il faut que tu récupères les données de ta session pour compléter ta requête sql.
Tu peux très bien remplacer “Toto” par une variable qui contient l’identifiant de la personne qui s’est connecté (Id, Pseudo, Nom, … du moment qu’il soit unique)
Ex :
$select = " SELECT * FROM ta_table WHERE Id_personne = $id_connexion ";
Donne le code complet de création de ta requête avec les guillemets point-virgule et tout s’il te plaît.
Oui, on peut mettre une variable php dans un requête SQL car la requête SQL n’est qu’une chaîne de caractère, donc il sera concaténé. Mais attention, cela ne fonctionne pas avec de simple cote mais avec des doubles