Personnaliser une session... (difficulté entre 1 à 100) : 8

Eléphant du PHP | 112 Messages

15 déc. 2006, 21:16

Bonjour à tous... En particulier à ceux qui me soutiennent depuis le début... :)

(Ceci n'est pas un up est un second problème)

Un visiteur se connecte, pseudo et mot de passe...

Il arrive arrive sur la page qui lui concerne comment afficher seulement les informations qui le concerne dans la table 'user' ?

Note : le visiteur est passé par : (dans l'ordre)

- session.html (formulaire)
- vérifLogin.php (vérification sur la table 'user' de l'existence du couple pseudo & pass

Comment trouver l'enregistrement qui lui concerne dans la table ?

J'ai une téori dont je ne suis pas sur...

1) Envoyer par POST $pseudo à la page d'accueil du visiteur logué, de là rechercher et afficher toute les infos concernant en rapport avec la valeur de $pseudo...

Un exemple

Je me logue...
j'arrive dans une page où je vois afficher mon nom, mon age, ma ville, mon adresse... bref tout ce que j'ai rempli l'or de l'inscription et qui ce trouve actuellement dans la base de donnée france-webmaster.fr...

Si ce n'est pas compris dite-le je reformulerais...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Mammouth du PHP | 19672 Messages

15 déc. 2006, 21:58

J'ai l'impression que ton problème ne relève pas du PHP mais du SQL : une bête requête avec une clause WHERE indiquant le pseudo suffirait pour récupérer toutes ces informations :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 112 Messages

16 déc. 2006, 00:38

Ha oui, ça existe... hum... je l'insère sous quel forme et dans quel page...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Mammouth du PHP | 19672 Messages

16 déc. 2006, 01:05

Es-tu déjà en mesure de créer cette requête avant de songer à l'insérer quelque part ? :-k

Ensuite, pour savoir où l'insérer, pose-toi la question suivante : à quel moment en as-tu besoin ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 112 Messages

16 déc. 2006, 01:12

J'en est besoin après l'identification, sur la page redirigé...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Mammouth du PHP | 19672 Messages

16 déc. 2006, 01:12

Donc... :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 112 Messages

16 déc. 2006, 01:48

Donc, je doit faire ma requete sql dans la page redirigé ?...
(qui ne tente rien à rien) °°°° (éspèrons que ce soit la bonne réponse...)

Franchement j'ai pas énormément d'indice, je sais à peu pret écrire un requete sql :
$sql = 'clause WHERE pseudo FROM user'; 
ou...
$sql = 'SELECT * FROM user WHERE Catégorie="pseudo"';
C'est ça ? Erreur de syntax ou pas...[/php]
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Mammouth du PHP | 19672 Messages

16 déc. 2006, 09:31

prenons cette requête :
$sql = 'SELECT * FROM user WHERE Catégorie="pseudo"';
L'erreur que je peux voir, c'est un nom de colonne avec un caractère accentué : à éviter absolument, sous Windows, ça passera, mais sur un serveur d'hébergement sous Linux, tu risques d'avoir des surprises désagréables.

Ceci dit, la structure de ta requête est correcte :
  1. SELECT * : l'étoile est en général à éviter, il est préférable d'indiquer les colonnes qu'on veut récupérer, donc, «SELECT champ_1, champ2, ..., champ_x»;
  2. FROM user : choix de la table dans laquelle on cherche les données, OK;
  3. WHERE Categorie = 'pseudo' : traduit en français, ça veut dire «Où la colonne "categorie" vaut "pseudo"»
Donc, on est bon jusque là.

Maintenant, un peu de logique : où doit-on inscrire cette requête ? Dans le déroulement du fonctionnement de ton application, entre l'appel de la page (clic sur un lien ou sur un bouton de formulaire) et l'affichage de la page appelée, il y a un certain nombre de traitements qui sont effectués. Suis chronologiquement chaque opération et pose-toi la question : ai-je besoin de ces données ? ta réponse ne peut-être que oui ou non. Ça peut être "pas encore" qu'il faut traduire par "non" tout simplement parce que la prochaine instruction n'utilise pas ces données. Ça peut aussi être "non" parce que ta requête comporte un paramètre dont la valeur doit être récupéré de l'appel de la page précédente : si tu exécutes ta requête avant d'avoir récupéré cette valeur, ta requête sera fausse et tu auras une erreur. Mais ça peut être oui parce que la prochaine instruction va utiliser les données et si elles n'ont pas été récupérées, tu auras une erreur.

Tu es sur la bonne voie, continue et reviens avec la suite si nécessaire.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 112 Messages

16 déc. 2006, 14:13

Ca donne :
$sql = 'SELECT id,civilite,nom,prenom,client,jour,mois,annee,numero,rue,postal,batiment,etage,porte,ville,pays,fixe,mobile,email,passe FROM membrefw WHERE Categorie="pseudo"';
Je ne doit pas mettre Categorie="$pseudo"'; ??
Et sur la page précédente faire un POST jusqu'ici...

En fait les données personnels de ce visiteurs sont stoker sur une seconde table...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Eléphant du PHP | 112 Messages

16 déc. 2006, 14:35

Quel code php doit-je utiliser dans verifLogin.php pour envoyer

$pseudo de vérifLogin.php à interroger.php ?
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

Mammouth du PHP | 19672 Messages

16 déc. 2006, 14:43

$sql = 'SELECT id,civilite,nom,prenom,client,jour,mois,annee,numero,rue,postal,batiment,etage,porte,ville,pays,fixe,mobile,email,passe ".
"FROM membrefw ".
"WHERE Categorie="pseudo"';
As-tu besoin de toutes ces données ? Si c'est juste pour identifier ton internaute, c'est beaucoup de données pour rien, sinon, trie ce dont tu as besoin et oublie le reste.
Je ne doit pas mettre Categorie="$pseudo"'; ??
Bien sur que si. Mais n'oublie pas de faire une concaténation propre :
$sql = 'SELECT id,civilite,nom,prenom,client,jour,mois,annee,numero,rue,postal,batiment,etage,porte,ville,pays,fixe,mobile,email,passe ".
"FROM membrefw ".
"WHERE Categorie="'. $pseudo .'"';
Chaque internaute ayant son propre pseudo, tu dois utiliser une variable. Ce que je ne vois pas en revanche dans la requête, ce serait une colonne "pseudo" et je ne vois pas non plus de colonne "Categorie", mais ça, c'est normal, à ce détail près que je ne suis pas convaincu que tu saches pourquoi :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 112 Messages

16 déc. 2006, 14:59

Non je ne veux pas l'identifier mais inscire les infos qui le conserne :

verifLogin.php >>> Envoi à interroger.php POST_['$pseudo'];

Je ne sais pas comment envoyer d'une page php à une autre la variable $pseudo avec sa valeur...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

ViPHP
ViPHP | 1961 Messages

16 déc. 2006, 15:04

Bonjour,

Je suppose que l'on parle du même sujet
Pourquoi l'envoyer, à quoi te sert $_SESSION['pseudo'] :?:
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 112 Messages

16 déc. 2006, 15:47

Il y a dans cette situation 3 pages :

session.php
verifLogin.php
accueil.php

Le visiteur se logue sur session.php, et les données sont ruçu par verifLogin.php qui redirige vers accueil.php si le couple, pseudo & pass son correct, donc on à besion de $pseudo dans accueil.php pour rechercher dans la table membresfw à la colonne pseudo la valeur $pseudo (pour afficher toute les informations allant avec cette enregistrement), $pseudo a été entrer sur session.php et se dirige vers verifLogin.php et c'est là que l'on doit envoyer à accueil.php donc :

de verifLogin.php

on envoi à accueil.php >>> $pseudo
et on redirige vers accueil.php si le couple, pseudo et pass sont correct...
Cordialement, France-Webmaster
www.france-webmaster.fr
[email protected]
--------------------------------------
Magnifique invention qu'est la base de donnée !!

ViPHP
ViPHP | 1961 Messages

16 déc. 2006, 16:13

Re,

Très beau discours =D> mais ça n'empèche en rien que dans "accueil.php" tu as $_SESSION['pseudo'].
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein