JeuWeb - Crée ton jeu par navigateur
$_SESSION['username'] et $_SESSION['password'] - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : $_SESSION['username'] et $_SESSION['password'] (/showthread.php?tid=3744)

Pages : 1 2


$_SESSION['username'] et $_SESSION['password'] - cacaroule - 01-03-2009

Bonjour,
En suivant ce tuto (http://www.jeuweb.org/board/big-tuto-creer-un-jeu-en-php-english-t-4875.html), on me parle de mettre en place deux sessions, les sessions $_SESSION['username'] et $_SESSION['password'] mais je ne sais pas trop comment les créer sachant que j'utilise WAMP.
Cela servira à créer une vue générale simple avec le nombre de ressources et autres. Voici le code:

Code PHP :
<?php
mysql_connect
("localhost", "user", "pass") or die("There was an error connecting to the mysql server.");
mysql_select_db("database");

$username=$_SESSION['username'];
$password=$_SESSION['password'];

$result=mysql_query("SELECT * FROM accounts WHERE username='$username' AND password='$password'");
if(
mysql_num_rows($result) == 0){
die(
"Sorry, you are no longer logged in, please login again to continue playing.");
}
else{
while(
$r=mysql_fetch_assoc($result)){
//This is where you would define all your resources, buildings, units, etc.
$example_resource=$r['example_resource'];
//Use the format such as the one above, except with the names of your resources, buildings, units, etc, and continue doing that with all the values you need to take.
}
}
?>



Sinon j'ai besoin d'un conseil pour créer une table "membres". Est ce les champs id, pseudo et mot de passe sont suffisants?

Merci


P.S.: Ensuite je mets ce code dans le MySQL Command Line Client ou notepad++?


RE: $_SESSION['username'] et $_SESSION['password'] - Argorate - 01-03-2009

Salut,

Je ne vois pas en quoi wamp a rapport avec les variables de session de ton code, il suffit que tu aies les sessions d'activées dans ton php.ini.

Ensuite lors de l'identification tu attribues à tes deux variables de sessions les bonnes informations et voilà, il n’y a pas besoin de tuto pour ça. ^^

Quant à ta table membres, seul toi connais les besoins que tu as pour ton site, si tu n'as pas d'autres informations que le pseudo et le pass, alors c'est bon, cela suffit.
Bien entendu il est préférable d’ajouter un champ id auto incrément comme tu dois le savoir...

Perso je ne connais pas MySQL Command Line Client, mais si c'est un moteur SQL, ce n’est pas fait pour y mettre du php... Wink


RE: $_SESSION['username'] et $_SESSION['password'] - cacaroule - 01-03-2009

Ok merci en fait WAMP c'était pour savoir ou mettre le code, dans notepad ou autre.
Sinon le php.ini c'est une table ou un fichier déjà existant ?

Merci et desolé pour ces questions de débutant, mais il faut bien commencer!


Comment on fait pour activer ces sessions dans php.ini?


RE: $_SESSION['username'] et $_SESSION['password'] - Allwise - 01-03-2009

Salut, alors le php.ini c'est juste le fichier de configuration qui détermine le comportement de php. Mais t'as rien à faire, par défaut les sessions sont activées.
Dans ton script php, tu démarres UNE session avec session_start(). Et ensuite, comme l'a indiqué Argorate, tu peux définir plusieurs variables de sessions.
WAMP est un pack apache+php+mysql. Mais il n'a aucun rapport avec le développement de tes scripts, que tu es libre d'éditer avec le bloc note, notepad++ ou n'importe quel autre éditeur.

En résumé, tu n'as pas à toucher au fichier php.ini. Mais si tu te poses des questions dessus, tu peux bien entendu le consulter (il est dans C:/wamp/bin/php/php5.2.x/) et consulter la doc de php pour avoir plus d'infos sur http://www.php.net.

MySQL Command Line Client, c'est le client mysql en ligne de commandes ( pas dur à trouver ). Ca ne sert à rien d'autre qu'à manipuler la base de données, directement. BDD d'un côté, pour les données, script PHP de l'autre, pour leur traitement. Un script PHP qui effectue se connecte à la BDD est pendant un instant un client mysql. Si y a des points qui ne sont pas clairs pour toi, genre client / serveur, configuration, sessions... je te conseille de bien te documenter dessus, ou de poser tes questions ici Smile

A + et bonne chance.

PS : dans ton script, il manque le session_start() au tout début. Sans ça, tes variables $_SESSION ne marcheront pas Wink


RE: $_SESSION['username'] et $_SESSION['password'] - cacaroule - 01-03-2009

d'accrod merci beaucoup


RE: $_SESSION['username'] et $_SESSION['password'] - Argorate - 01-03-2009

Effectivement je n’avais pas fait attention, mais il me semble que ça doit être la première chose de dite sur le site du zéro, toutes les pages où tu veux que l'utilisateur puisse se rendre en étant loggé doivent avoir pour première instruction session_start().

Et autre petite remarque, je ne vois pas l'utilité de mettre se que contient la session dans d'autre variables:
Code :
$username=$_SESSION['username'];
$password=$_SESSION['password'];

utilise directement les variable de session, elles sont la pour ça et dispo partout sur ton site du moment que tu as le session_start()!

Sinon au moment de se logger, attention aux injections SQL!


RE: $_SESSION['username'] et $_SESSION['password'] - cacaroule - 01-03-2009

Je vais voir ça, de toute façon je dois étoffer ce script avec quelque informations suplementaires.
Merci pour votre aide.


RE: $_SESSION['username'] et $_SESSION['password'] - Feldoran - 02-03-2009

Y a-t-il vraiment un intérêt à garder le mot de passe en session?
Pourquoi rééxecuter la requête de vérif régulièrement? Une fois que c'est fait et que $_SESSION['identifiant'] est défini, on a juste a considérer que la session est bonne tant que cette variable est enregistrée, non?


RE: $_SESSION['username'] et $_SESSION['password'] - Ter Rowan - 02-03-2009

(02-03-2009, 12:16 AM)Feldoran a écrit : Y a-t-il vraiment un intérêt à garder le mot de passe en session?
Pourquoi rééxecuter la requête de vérif régulièrement? Une fois que c'est fait et que $_SESSION['identifiant'] est défini, on a juste a considérer que la session est bonne tant que cette variable est enregistrée, non?

je serais du même avis que Feldoran d'autant plus (mais c'est peut être mon côté ignorant donc peureux) que si on a une faille au niveau des sessions, n'importe qui peut récupérer le mot de passe de cette façon


RE: $_SESSION['username'] et $_SESSION['password'] - cacaroule - 02-03-2009

En fait les mots de passes et identifiants sont stockés dans une table, et j'utilise les deux sessions pour aller chercher les info dans la BDD.
Mais comme je suis au début de mon apprentissage j' apprécie vos conseils.
Merci