Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
921 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Faire des sessions PHP sur un compte gratuit Free

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Faire des sessions PHP sur un compte gratuit Free

n°1028717
mahuf
Posté le 29-03-2005 à 17:01:53  profilanswer
 

Bonjour à tous,
 
N'y a-t-il pas des trucs à savoir pour créer des sessions et les gérer sur un compte free avec du PHP ? Je sais que les variables globales sont à ON (ce qui peut poser de petits problèmes de sécurité certes mais là n'est pas le problème). Je sais qu'il faut créer un répertoire spécial pour les sessions nommé /sessions mais je voudrais obtenir un code "tout cuit" pour parvenir à faire une session ...
 
J'ai recherché sur divers site, mais la méthode semble toujours poser problème : Free semble incapable de stocker correctement les données. Toutefois, je sais que c'est possible (j'ai déjà installé des logiciels comme phpBB sur des comptes Free) mais je n'arrive pas à créer un code pour des sessions "toutes simples" ... z'auriez pas un truc SVP ?
 
Merci d'avance.


Message édité par mahuf le 29-03-2005 à 17:02:13
mood
Publicité
Posté le 29-03-2005 à 17:01:53  profilanswer
 

n°1028722
simogeo
j'ai jamais tué de chats, ...
Posté le 29-03-2005 à 17:04:36  profilanswer
 

créer un rep /sessions/ à la racine


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°1028726
mahuf
Posté le 29-03-2005 à 17:06:28  profilanswer
 

Ouais, mais ça je l'ai fait (j'ai précisé dans mon message). Et ça n'a pas fonctionné.

n°1028730
simogeo
j'ai jamais tué de chats, ...
Posté le 29-03-2005 à 17:08:27  profilanswer
 

Code :
  1. <?php
  2. session_start();
  3. $_SESSION['ourson']="winnie";
  4. echo "je suis ".$_SESSION['ourson']. "l'ourson";
  5. ?>


Message édité par simogeo le 29-03-2005 à 17:08:42

---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°1028737
mahuf
Posté le 29-03-2005 à 17:12:32  profilanswer
 

Y'a pas besoin de faire appel à la db ?
 
Si je veux allouer des logins et des mots de passe, je fais comment ?

n°1028740
skeye
Posté le 29-03-2005 à 17:13:30  profilanswer
 

mahuf a écrit :

Y'a pas besoin de faire appel à la db ?
 
Si je veux allouer des logins et des mots de passe, je fais comment ?


Les sessions n'ont rien à voir avec la db.


Message édité par skeye le 29-03-2005 à 17:13:40

---------------
Can't buy what I want because it's free -
n°1028754
drone
Posté le 29-03-2005 à 17:19:14  profilanswer
 

Tu crées une DB avec un champ id, login et mot_de_passe et tu compares les données entrées par l'utilisateur et celles de la DB. Ensuite si tout est correct, tu crées une session propre à  l'utilisateur avec session_start(); ...


Message édité par drone le 29-03-2005 à 17:24:00
n°1028759
simogeo
j'ai jamais tué de chats, ...
Posté le 29-03-2005 à 17:23:37  profilanswer
 

skeye a écrit :

Les sessions n'ont rien à voir avec la db.


enfin ca dépend heinnn.  
les données de sessions peuvent être stockées en db plutôt qu'en fichier texte mais par défaut c'est pas le cas


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
n°1028766
skeye
Posté le 29-03-2005 à 17:26:27  profilanswer
 

simogeo a écrit :

enfin ca dépend heinnn.  
les données de sessions peuvent être stockées en db plutôt qu'en fichier texte mais par défaut c'est pas le cas


Fichtre![:dawa]
Je découvre un truc...t'as un lien montrant ça? :??:


---------------
Can't buy what I want because it's free -
n°1028771
simogeo
j'ai jamais tué de chats, ...
Posté le 29-03-2005 à 17:28:35  profilanswer
 

http://fr2.php.net/manual/fr/funct [...] andler.php


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
mood
Publicité
Posté le 29-03-2005 à 17:28:35  profilanswer
 

n°1034991
mahuf
Posté le 04-04-2005 à 22:37:00  profilanswer
 

skeye a écrit :

Fichtre![:dawa]
Je découvre un truc...t'as un lien montrant ça? :??:


 
Ben c'est le cas des forums justement, en PHPBB notamment, non ?
 
Justement, j'aimerais bien pouvoir faire un petit module de sessions qui fait appel aux DB ... faire appel à une DB je sais faire, écrire dedans aussi, mais ce sont ces *$&$*ù$& de sessions qui refusent de fonctionner correctement ... chuis maudit ! Z'auriez pas un exemple de truc qui marche ? Siouplait ^^.


Message édité par mahuf le 07-04-2005 à 22:42:51
n°1035053
benamoubea​ch
tivuplai
Posté le 04-04-2005 à 23:05:14  profilanswer
 

session stockée en bd ?

n°1035089
Master p
My new cock ring :D
Posté le 04-04-2005 à 23:25:46  profilanswer
 

mahuf a écrit :


Si je veux allouer des logins et des mots de passe, je fais comment ?


mahuf a écrit :

Justement, j'aimerais bien pouvoir faire un petit module de sessions qui fait appel aux DB ... faire appel à une DB je sais faire, écrire dedans aussi, mais ce sont ces *$&$*ù$& de sessions qui refusent de fonctionner correctement ... chuis maudit ! Z'auriez pas un exemple de truc qui marche ? Siouplait ^^.


Vu ce que t'as écris plus haut, je suis pas vraiement sûr que ce soit utile de commencer par ça [:ula]  
Commence déjà par tester ce qu'a donné Simogeo plus haut :
 

simogeo a écrit :

Code :
  1. <?php
  2. session_start();
  3. $_SESSION['ourson']="winnie";
  4. echo "je suis ".$_SESSION['ourson']. "l'ourson";
  5. ?>




---------------
HAHAHA I M USING TEH INTERNET
n°1036032
mahuf
Posté le 05-04-2005 à 16:26:25  profilanswer
 

Lol, oui ça ça marche  :pt1cable:  
 
Ce que je veux savoir, c'est comment faire appel à une variable stockée en DB pour la comparer avec une valeur postée. J'ai essayé avec des codes du genre

Code :
  1. <?php
  2. session_start();
  3. $pseudo = $_POST['pseudo'];
  4. $mdp = $_POST['mdp'];
  5. include ('config.php'); // qui contient toutes mes données
  6. $db = mysql_connect($base,$login,$password) or die('Problème de connexion');
  7. mysql_select_db('base',$db);
  8. $sql = 'SELECT login, mdp FROM table WHERE login = $pseudo';
  9. $req = mysql_query($sql) or die("Erreur de requête" );
  10. while ($data = mysql_fetch_assoc ($req))
  11. {
  12. if ( $data['mdp'] == $mdp)
  13.         [...]


 
C'est là que ça plante. Quand je modifie les paramètres, soit il refuse de se connecter, soit il se connecte pour n'importe quelle valeur ... donc je sais pas vraiment quoi faire.


Message édité par mahuf le 07-04-2005 à 22:43:05
n°1036083
Master p
My new cock ring :D
Posté le 05-04-2005 à 16:45:10  profilanswer
 

Commence d'abord à faire la différence avec le double quote " et le simple quote '.

Code :
  1. $pseudo = 'mahuf';
  2. //~~~~~~~~~~ Exemple 1~~~~~~~~~~
  3. $sql = 'SELECT login, mdp FROM table WHERE login = $pseudo';
  4. echo $sql;
  5. // renvoie à l'écran : SELECT login, mdp FROM table WHERE login = $pseudo
  6. //~~~~~~~~~~ Exemple 3~~~~~~~~~~
  7. $sql = "SELECT login, mdp FROM table WHERE login = $pseudo";
  8. echo $sql;
  9. // renvoie à l'écran : SELECT login, mdp FROM table WHERE login = mahuf
  10. //~~~~~~~~~~ Exemple 3~~~~~~~~~~
  11. $sql = "SELECT login, mdp FROM table WHERE login = '$pseudo'";
  12. echo $sql;
  13. // renvoie à l'écran : SELECT login, mdp FROM table WHERE login = "mahuf"
  14. //~~~~~~~~~~ Exemple 4~~~~~~~~~~
  15. $sql = 'SELECT login, mdp FROM table WHERE login = "'.$pseudo.'"';
  16. echo $sql;
  17. // renvoie à l'écran : SELECT login, mdp FROM table WHERE login = "mahuf"

L'exemple 1 est sûrment pas l'effet recherché.
L'exemple 2 apparaît correct mais ne permettra pas à la bdd de comprendre ta requête (un champ texte doit être délimité par des quotes (" ou '))
L'exemple 3 marchera mais vaut mieux pas prendre ce type d'habitude
L'exemple 4 est celui à suivre (et à bien assimiler)


---------------
HAHAHA I M USING TEH INTERNET
n°1036095
mahuf
Posté le 05-04-2005 à 16:51:06  profilanswer
 

J'avais même pas pensé à ça ... c'est sûr que echo '$var' et echo "$var" ça ne donne pas la même chose ! lol
 
Par contre je comprends pas pour 'la DB ne comprend pas ma requête' : tu veux dire que pour comparer le champ texte représenté par la variable, il doit être représenté impérativement entre guillemets ? Même si le serveur détecte qu'il a remplacé la valeur par une variable ?
 
PS : je savais pas qu'on pouvait faire comme l'exemple 3. Ca marche sans concaténation ???

n°1036100
Master p
My new cock ring :D
Posté le 05-04-2005 à 16:52:47  profilanswer
 

Je rajoute ppour pas que tu t'emballes que le raisonnement est faux [:jagstang]  
Donne un $pseudo vide ou erroné avec un $mdp vide, ça passes...


---------------
HAHAHA I M USING TEH INTERNET
n°1036111
Master p
My new cock ring :D
Posté le 05-04-2005 à 17:00:45  profilanswer
 

mahuf a écrit :


Par contre je comprends pas pour 'la DB ne comprend pas ma requête' : tu veux dire que pour comparer le champ texte représenté par la variable, il doit être représenté impérativement entre guillemets ? Même si le serveur détecte qu'il a remplacé la valeur par une variable ?

Ton serveur PHP, c'est une chose, ta BDD, c'est autre chose. Le lien qui leur permet de communiquer, c'est le mysql_query, qui fait que le serveur PHP fait une requête à ta BDD.
 
Bref, c'est comme ça, si tu fais une requête, pour que ta BDD puisse comprendre qu'il s'agit d'une chaîne, faut le lui dire (tout comme php), et ça ne s'applique pas quand le champ est de type entier.


---------------
HAHAHA I M USING TEH INTERNET
n°1036114
mahuf
Posté le 05-04-2005 à 17:01:55  profilanswer
 

Je viens de voir ça à l'instant ...  
 
Hum ... il faut que je précise avec des conditions
if ($mdp != '' and $login != '')
ou ça ne marchera pas non plus ?
 
Whatever, j'essaye ^^.

n°1036121
Master p
My new cock ring :D
Posté le 05-04-2005 à 17:06:54  profilanswer
 

Quand ça marche, t'essaiera aussi avec un pseudo du style :
pseudo = prout"'; echo $login,'-',$password,'


---------------
HAHAHA I M USING TEH INTERNET
n°1036137
mahuf
Posté le 05-04-2005 à 17:19:28  profilanswer
 

Pour la sécurité, on verra ensuite avec les addslashes ^^
 
Là il refuse carrément de se connecter ... il n'affiche jamais mon résultat voulu ... par contre il ne connecte pas n'importe qui (normal, personne ne se connecte ^^)

n°1036140
Master p
My new cock ring :D
Posté le 05-04-2005 à 17:20:56  profilanswer
 

Balance ton "code" :D


---------------
HAHAHA I M USING TEH INTERNET
n°1036160
mahuf
Posté le 05-04-2005 à 17:28:19  profilanswer
 

Rhâââ, jamais ! Il fonctionnera ! Je vais me battre avec, mais ça va marcher ... grr !

n°1036164
Master p
My new cock ring :D
Posté le 05-04-2005 à 17:29:35  profilanswer
 

Master p a écrit :

Balance ton "code" :D


mahuf a écrit :

Rhâââ, jamais ! Il fonctionnera ! Je vais me battre avec, mais ça va marcher ... grr !


Fallait le prendre comme un "Fais péter ton code" :o


---------------
HAHAHA I M USING TEH INTERNET
n°1036166
skeye
Posté le 05-04-2005 à 17:30:11  profilanswer
 

Master p a écrit :

"Fais péter ton code" :o


 

Code :
  1. echo "prout!";


---------------
Can't buy what I want because it's free -
n°1036170
mahuf
Posté le 05-04-2005 à 17:31:13  profilanswer
 

AAAAAAAh !!! D'ac ... lol.
 

Code :
  1. <?php
  2. session_start();
  3. $valid = $_POST['valid'];
  4. echo 'bouton : '.$valid.'<br>';
  5. if ($valid == 'OK')
  6. {
  7. $pseudo = $_POST['pseudo'];
  8. $mdp = $_POST['mdp'];
  9. include ("config.php" );
  10. $db = mysql_connect($base,$login,$password) or die('Problème de connexion');
  11. mysql_select_db('table_classe',$db);
  12. $sql = 'SELECT * FROM table_classe WHERE pseudo = "'.$pseudo.'"';
  13. $req = mysql_query($sql) or die("Erreur de requête" );
  14. if ($login != '' AND $mdp != '')
  15. {
  16. while ($data = mysql_fetch_assoc ($req))
  17.     {if ( $data['mdp'] == $mdp) {echo 'connecté';} else {echo 'mauvais mot de passe';}}
  18. }
  19. }
  20. else {
  21.  echo'<form method="post" action="test.php">
  22. Login <br>
  23. <input type="text" name="pseudo"><br>
  24. Password<br>
  25. <input type="password" name="mdp"><br>
  26. <input type="submit" value="OK" name="valid">
  27. </form>';
  28.  }
  29. ?>

n°1036172
mahuf
Posté le 05-04-2005 à 17:31:58  profilanswer
 

Il y a des lignes inutiles :
 
- ligne 3 avec le bouton c'est juste une vérification pour contôler des trucs


Message édité par mahuf le 05-04-2005 à 17:34:23
n°1036197
Master p
My new cock ring :D
Posté le 05-04-2005 à 17:45:11  profilanswer
 

Relis ton code bourdel :o
 
Ligne 7 : $pseudo = $_POST['pseudo'];
Ligne 14 : vérification sur $login
(je sais, c'est pas ça qui fait planter  :whistle: )


---------------
HAHAHA I M USING TEH INTERNET
n°1036200
Master p
My new cock ring :D
Posté le 05-04-2005 à 17:46:35  profilanswer
 

skeye a écrit :

Code :
  1. echo "prout!";



L'usage des double quote est à proscrire pour une telle commande :o


Message édité par Master p le 05-04-2005 à 17:47:18

---------------
HAHAHA I M USING TEH INTERNET
n°1036202
mahuf
Posté le 05-04-2005 à 17:46:39  profilanswer
 

Ah m.... heu, je veux dire désolé ^^.
 
C'est sûr que si on se sert du login de la db ...

n°1036206
mahuf
Posté le 05-04-2005 à 17:49:14  profilanswer
 

Master p a écrit :

Relis ton code bourdel :o
 
Ligne 7 : $pseudo = $_POST['pseudo'];
Ligne 14 : vérification sur $login
(je sais, c'est pas ça qui fait planter  :whistle: )


 
Donc ça c'est fait ...
 
En passant, si le pseudo n'existe pas je fais quoi pour afficher à l'écran : le pseudo n'existe pas ? Parce que je peux pas mettre de else en face d'un while ...

n°1036207
skeye
Posté le 05-04-2005 à 17:49:18  profilanswer
 

Master p a écrit :

L'usage des double quote est à proscrire pour une telle commande :o


[:rofl2]


---------------
Can't buy what I want because it's free -
n°1036208
Master p
My new cock ring :D
Posté le 05-04-2005 à 17:49:21  profilanswer
 

À quoi ressemble la table_classe ?
Quel est le résultat obtenu ?


---------------
HAHAHA I M USING TEH INTERNET
n°1036212
mahuf
Posté le 05-04-2005 à 17:53:10  profilanswer
 

Le résultat obtenu :
- si je mets un login qui existe + un mdp qui existe : il me met 'erreur de mot de passe'
- je je mets un login qui n'existe pas il n'affiche rien quel que soit le mot de passe
- je je mets un login qui existe avec un mdp qui n'existe pas il me met : erreur de mot de passe
 
La table table_classe est :
pseudo, nom, prenom, password, surnoms, email, ID
varchar/varchar/varchar/varchar/varchar/varchar/tinyint

n°1036222
Master p
My new cock ring :D
Posté le 05-04-2005 à 18:04:19  profilanswer
 

1/ T'es sûr du contenu de ta variable $mdp ? affiche là.
2/ Pourquoi utiliser un while puisque tu n'attend qu'un seul résultat ?
3/ Ça saute aux yeux qu'il y a une requête plus rapide et qui demande moins de traitement. Creuse toi un peu le cervelet.


---------------
HAHAHA I M USING TEH INTERNET
n°1036297
mahuf
Posté le 05-04-2005 à 19:25:31  profilanswer
 

Master p a écrit :

2/ Pourquoi utiliser un while puisque tu n'attend qu'un seul résultat ?


 
Exaaaaaaaaact ...
 
Sinon je me creuse le cervelet ^^ :D

n°1036311
mahuf
Posté le 05-04-2005 à 19:32:19  profilanswer
 

Ouais pour le creusage de cervelet je pense à un petit truc :
 
je peux mettre un  
'SELECT * FROM table_classe WHERE pseudo = "'.$pseudo.'" AND password = "'.$mdp.'"';
ça marcherait peut-être ça non ?

n°1036328
mahuf
Posté le 05-04-2005 à 19:46:22  profilanswer
 

Ca recommence ...
je suis sûr du résultat que j'ai obtenu pour la variable, mais avec ce code :
 

Code :
  1. <?php
  2. session_start();
  3. $valid = $_POST['valid'];
  4. if ($valid == 'OK')
  5. {
  6. echo 'bouton : '.$valid.'<br>';
  7. $pseudo = $_POST['pseudo'];
  8. $mdp = $_POST['mdp'];
  9. if ($pseudo != '' AND $mdp != '')
  10. {
  11. echo $mdp;
  12. include ("config.php" );
  13. $db = mysql_connect($base,$login,$password) or die('Problème de connexion');
  14. mysql_select_db('table_classe',$db);
  15. $sql = 'SELECT * FROM table_classe WHERE pseudo = "'.$pseudo.'" AND password = "'.$mdp.'"';
  16. $req = mysql_query($sql) or die('Les identifiants que vous avez spécifiés n\'existent pas');
  17. echo 'vous êtes connecté';
  18. }
  19. else {echo 'Veuillez remplir les champs !';}
  20. }
  21. else {
  22.  echo'<form method="post" action="test2.php">
  23. Login <br>
  24. <input type="text" name="pseudo"><br>
  25. Password<br>
  26. <input type="password" name="mdp"><br>
  27. <input type="submit" value="OK" name="valid">
  28. </form>';
  29.  }
  30. ?>


 
n'importe qui peut se connecter.

n°1036362
mahuf
Posté le 05-04-2005 à 20:05:52  profilanswer
 

Et ça maaaaaaaaaaaaaaaarche !!!
 
Il suffit de placer devant l'instruction echo 'vous êtes connecté' à la ligne 17 la petite ligne :
 
if (mysql_num_rows($req)>0) {echo 'vous êtes connecté';}
else {echo 'vous n\'êtes pas connecté';}
 
et ça marche.
 
Merci beaucoup Master p, pour ton assistance et ta patience, et surtout pour ta méthode qui me permet d'apprendre par moi même ... :jap:  :bounce:  :ange:

n°1036381
Master p
My new cock ring :D
Posté le 05-04-2005 à 20:13:18  profilanswer
 

De rien, si j'ai des problèmes de php, je viendrais te voir [:master p]
(Dingue ça, on me découvre des vertus pédagogiques [:arn0])


---------------
HAHAHA I M USING TEH INTERNET
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Faire des sessions PHP sur un compte gratuit Free

 

Sujets relatifs
Script PHP comment recuperer la main rapidementPrévisions météo en PHP ?
Script PHPAGENDA PHP
Qu'est ce que le PHP?[PHP] Probleme tout simple.
Editeur PHPgérer les sessions en C#
[PHP][MySQL] Pb stupide : retour chariot[PHP][MySql] problème de connection à la bdd
Plus de sujets relatifs à : Faire des sessions PHP sur un compte gratuit Free


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR