Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2011, 13h05   #1
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 20
Points : 11
Points : 11
Par défaut Connexion sur un site avec BDD mysql

Bonjour

voila je voulais savoir si la façon a laquelle je me connecte sur mon site est la bonne:

en fait après la connexion a la bdd, je fais un
select from where pseudo=$pseudo and password=$password

un cookie se créé si et seulement si dans les champs on a mis des valeurs qui existent dans ma table,

en fait je voulais simplement savoir si ma façon de faire est correcte ou si je suis a côté de la plaque ?

sinon que dois-je modifier svp ?

autre question :

si la connexion est bonne, donc si le mot de passe et le pseudo sont dans la table, je fais un alert("Vous êtes désormais connecté !");

si je me connecte en tant que identifiant : XXXX MDP : xxxx
Comment faire pour que l'alert devienne : Vous êtes désormais connecté XXXX ! svp ?

Merci d'avance
garona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 13h14   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Citation:
voila je voulais savoir si la façon a laquelle je me connecte sur mon site est la bonne:

en fait après la connexion a la bdd, je fais un
select from where pseudo=$pseudo and password=$password

un cookie se créé si et seulement si dans les champs on a mis des valeurs qui existent dans ma table,

en fait je voulais simplement savoir si ma façon de faire est correcte ou si je suis a côté de la plaque ?
Je ne vois rien à redire à ça.

Citation:
si la connexion est bonne, donc si le mot de passe et le pseudo sont dans la table, je fais un alert("Vous êtes désormais connecté !");

si je me connecte en tant que identifiant : XXXX MDP : xxxx
Comment faire pour que l'alert devienne : Vous êtes désormais connecté XXXX ! svp ?
Il faut faire :

Code :
1
2
3
<script type="text/javascript"><![CDATA[
    alert("Salut <?php echo $pseudo ?> !") ;
]]></script>
Attention, ici si $pseudo contient un " ton JS sera en erreur.

Code :
1
2
3
<script type="text/javascript"><![CDATA[
    alert("Salut <?php echo str_replace('"', '\"', $pseudo) ?> !") ;
]]></script>
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 13h16   #3
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Au cas où cela ne soit pas fait : il faut protéger les variables que l'on insère dans les requêtes.
Quelques pistes :
- mysql : mysql_real_escape_string()
- mysqli : mysqli_real_escape_string() OU mysqli::escape_string()
- PDO => requêtes préparées

Un cookie ? Pourquoi ne pas utiliser les sessions ?

Afficher une variable PHP dans du javascript :
Code :
alert("Vous êtes désormais connecté <?php echo $pseudo; ?>!");
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/05/2011, 13h21   #4
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Citation:
Un cookie ? Pourquoi ne pas utiliser les sessions ?
+1

A la rigueur le cookie peut servir pour un auto-connect, pour le reste les sessions sont idéales.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 21h49   #5
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 20
Points : 11
Points : 11
Bonsoir merci pour les réponses !

Pourquoi les cookies plutôt que les sessions ?
Ben franchement j'en ai aucune idée je me sens surement plus a l'aise avec les cookies, c'est réellement mieux les sessions ?

EDIT : j'ai donc fait comme vous m'aviez dit c'est impeccable ça marche très bien, cependant comment on peut faire pour que au dessus du bouton déconnexion le nom de l'utilisateur s'affiche a nouveau et sur toutes les pages svp ?

Merci
garona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 22h11   #6
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 449
Points : 3 449
Il faut mettre le nom en session.
Ensuite tu pourras l'utiliser partout où tu veux.

Doc sur les sessions : http://www.php.net/manual/fr/book.session.php
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 22h19   #7
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : mai 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 20
Points : 11
Points : 11
Ok merci

mais par rapport a un cookie ou on détermine la durée, la session n'est elle pas limitée ?
garona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 08h20   #8
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
La session utilise un cookie pour identifier le navigateur.
Mais les données sont stockées côté serveur.
La session est détruite lors du timeout configuré côté serveur (voir dans le php.ini la durée max des sessions) ou bien lors de la destruction du cookie (durée aussi configurable dans le php.ini).
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h54.


 
 
 
 
Partenaires

Hébergement Web