Récupérer des variables de session

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupérer des variables de session

par Ryle » 16 juil. 2006, 11:06

Ca m'a l'air bien compliqué tout ça.. en fait il faurait lorsque l'utilisateur s'inscrit que tu ailles recopier le fichier correspondant se trouvant dans le dossier des sessions pour le placer ailleurs afin d'en garder une trace lorsque la session sera détruite (en effet, selon le temps que va mettre le mail à arriver et la personne à cliquer, il aura très bien pu refermer son navigateur ou avoir été déconnecté)

Tu peux alors renommer le fichier copier de manière à le retrouver facilement avec les paramètres passés par le mail.

Cela dit, je ne pense pas que ce soit la meilleure solution. Généralement, les données sont directement enregistrées en base lorsque l'utilisateur les soumets, mais un flag spécifique permet de savoir que le compte n'a pas encore été activé. Il te suffit alors lors de l'activation de retrouver le compte correspnodant à l'email et de changer la valeur de ce flag pour qu'il puisse se connecter.
Tu peux également prévoir un système de purge hebdomadaire, mensuelle, ou autre pour régulièrement venir supprimer les enregistrements qui n'ont pas été validés depuis 3 jours, 6 semaines ... :)

Tu feras attention, tu as mis ta culotte à l'envers... ouais je sais désolé, mais j'ai pas pu m'empêcher de la faire ;)

Récupérer des variables de session

par Dagobert » 15 juil. 2006, 19:08

Bonjour,

Peut-être allez vous pouvoir m'aider à résoudre mon casse-tête de la journée.

Comme nombre de lecteurs de ce forum (!), je travaille sur un formulaire auquel je souhaiterai ajouter la caractéristique suivante :

- le visiteur reçoit un mel juste après son inscription afin d'authentifier son adresse (je ne parle pas d'une vérification avec les expressions régulières, mais d'une authentique vérifcation) : sur le mel, il lui est demandé de cliquer sur un lien pour confirmer son inscription. Lorsque le visiteur a cliqué sur le lien indiqué, une page de confirmation s'ouvre, et les variables recueillies durant la session sont insérées à une table MySql.

Les sessions n'ont certes pas une durée de vie éternelle, mais c'est un autre problème...

Or, je me pose la question suivante :
- comment retrouver les données stockées dans le fichier de session qui a été créé sur le server lors du remplissage du formulaire ?

A l'origine, j'avais pensé me contenter de l'adresse de courriel avec un lien sur le mel envoyé à l'utilisateur, comme :

http://www.monsite.com/verification/con ... ail=$email.

Mais comment retrouver les données de la session associées au mail ? Quelles sont les fonctions de Php ad hoc, (comparables à un select from... where... avec MySql - pardon, si j'écris une énormité !).

A défaut, j'avais pensé utiliser l'identifiant de session. Ainsi l'utilisateur en cliquant sur le lien envoyait par la méthode "get" l'identifiant de la session, et les données étaient (forcément ! - idéalement !) retrouvées. Hélas, ça ne fonctionne pas... J'utilisais le lien suivant pour appeler ma page :

http://www.monsite.com/verification/con ... b4518b41c6,

l'identifiant de la session étant attribué dynamiquement.

Dans ma page confirmation, j'utilisais le code :
$sid = $_GET['sid'];
session_start;
puis
print "$_SESSION[nom]"
pour le test.

De plus, je ne suis pas certain qu'afficher en clair de l'identifiant d'une session soit compatible avec les normes de sécurité.

Aussi je vous remercie pour vos suggestions, même si ce samedi estival incite plus au farniente qu'à la réflexion.

Bien à vous,

Dagobert