Accueil > Forum > > > > Faire persister les sessions
Faire persister les sessions
lundi 5 avril 2004 à 15:43:08 |
Faire persister les sessions

Tomcube
|
Salut à tous, Je suis confronté à un problème concernant les sessions. Voici comment se présente mon site : Mon site est composé d'un ensemble de site qui ont chacun leur nom de domaine. (on va prendre le site-principal.com qui regroupe site-1.com et site-2.com). Mais ces sites sont stockés sur le même serveur FTP : - site-principal.com pointe sur www/ - site-1.com pointe sur www/1/ - site-2.com sur www/2 Et ils prennent leurs données sur la même base de données. J'ai fait un système de membre : Le problème c'est qu'une session démarrée sur site-principal.com n'existe plus sur site-1.com. Ma question est simple : Comment faire pour garder la session d'un site à l'autre ? ------------------------------- Life is a game, Enjoy ! ^^
|
|
lundi 5 avril 2004 à 19:47:56 |
Re : Faire persister les sessions

yafuka
|
je ne suis pas sure mais as tu essayer d'utiliser l'id de session d'un site à un autre.. !? ++ Le meilleur langage de programmation est un étudiant diplomé..
|
|
lundi 5 avril 2004 à 20:46:25 |
Re : Faire persister les sessions

Tomcube
|
J'y ai pensé mais le seul moyen selon moi serait de le faire passer par l'URL, mais il faudrait que je change tous les liens ... à moins que j'utilise la BDD mais par quel moyen ???
------------------------------- Life is a game, Enjoy ! ^^
|
|
lundi 5 avril 2004 à 20:58:15 |
Re : Faire persister les sessions

yafuka
|
//un code tres interressant ci dessous qui provient d'un de mes livres. il s'agit d'une gestion de session avec utilisation de la base de donee.
Listing 21.5 : Sessions PHP avec enregistrement dans une base de données MySQL <?php class mySession {
private $dbLink;
public function open() { if(!($this->dbLink = mysql_connect("localhost", "httpd", ""))) { return(FALSE); } //Sélection de la base de données puis test de l'opération if(!($dbResult = mysql_query("USE test", $this->dbLink))) { return(FALSE); }
return(TRUE); }
public function close() { mysql_close($this->dbLink); return(TRUE); }
public function read($id) { $Query = "SELECT SessionData " . "FROM session " . "WHERE ID = '" . addslashes($id) . "'"; if(!($dbResult = mysql_query($Query, $this->dbLink))) { return(FALSE); } $dbRow = mysql_fetch_assoc($dbResult);
//Signale que l'enregistrement de la session a été accédé $Query = "UPDATE session " . "SET " . "LastAction=NOW() " . "WHERE ID='".addslashes($id)."' "; if(!($dbResult = mysql_query($Query, $this->dbLink))) { return(FALSE); }
return($dbRow['SessionData']); }
public function write($id, $data) { //Crée la session si elle n'existe pas $Query = "INSERT IGNORE " . "INTO session (ID) " . "VALUES ('".addslashes($id)."')"; if(!($dbResult = mysql_query($Query, $this->dbLink))) { return(FALSE); }
//Actualise la session $Query = "UPDATE session " . "SET " . "SessionData='".addslashes($data)."', " . "LastAction=NOW() " . "WHERE ID='".addslashes($id)."' "; if(!($dbResult = mysql_query($Query, $this->dbLink))) { return(FALSE); } return(TRUE); }
public function destroy($id) { $Query = "DELETE session " . "WHERE ID='".addslashes($id)."' "; if(!($dbResult = mysql_query($Query, $this->dbLink))) { return(FALSE); }
return(TRUE); }
public function garbage($lifetime) { $Query = "DELETE session " . "WHERE (LastAction + $lifetime) < NOW() "; if(!($dbResult = mysql_query($Query, $this->dbLink))) { return(FALSE); }
return(TRUE); }
}
$s = new mySession();
session_set_save_handler( array($s, 'open'), array($s, 'close'), array($s, 'read'), array($s, 'write'), array($s, 'destroy'), array($s, 'garbage') );
//Démarrage de la session session_start();
//Incrémente le compteur à chaque chargement d'une page if(isset($_SESSION['Count'])) { $_SESSION['Count']++; } else { //start with count of 1 $_SESSION['Count'] = 1; }
//Connexion à la base de données if(!($dbLink = mysql_connect("localhost", "httpd", ""))) { print("Couldn't connect to database!<br>\n"); }
//Sélection de la base de données puis test de l'opération if(!($dbResult = mysql_query("USE test", $dbLink))) { print("Couldn't use test database!<br>\n"); }
//Si l'utilisateur modifie l'ID invoice, mettre à jour //la colonne et celle de la session if(isset($_REQUEST['invoice'])) { //Assure que les données invoice sont des entiers $_REQUEST['invoice'] = (integer)$_REQUEST['invoice'];
if(!($dbLink = mysql_connect("localhost", "httpd", ""))) { print("Couldn't connect to database!<br>\n"); } //sélection de la base de données puis test de l'opération if(!($dbResult = mysql_query("USE test", $dbLink))) { print("Couldn't use test database!<br>\n"); }
$Query = "UPDATE session " . "SET Invoice={$_REQUEST['invoice']} " . "WHERE ID = '" . session_id() . "' "; if(!($dbResult = mysql_query($Query, $dbLink))) { print("Couldn't update invoice!<br>\n"); }
$Invoice = $_REQUEST['invoice']; } else { //récupération de la valeur invoice $Query = "SELECT Invoice FROM session " . "WHERE ID = '" . session_id() . "' "; if(!($dbResult = mysql_query($Query, $dbLink))) { print("Couldn't get invoice!<br>\n"); } $dbRow = mysql_fetch_assoc($dbResult); $Invoice = $dbRow['Invoice']; } ?> <html> <head> <title>Listing 21-5</title> </head> <body> <?php print("You have viewed this page {$_SESSION['Count']} times!<br>\n"); print("Current Invoice: $Invoice<br>\n"); //Affiche le formulaire de récupération du nom print("<form " . "action=\"{$_SERVER['PHP_SELF']}\" " . "method=\"post\">" . "<input type=\"text\" name=\"invoice\" " . "value=\"\">\n" . "<input type=\"submit\" value=\"set order number\"><br>\n" . "</form>"); //Affichage d'un lien permettant de recharger cette page print("<a href=\"{$_SERVER['PHP_SELF']}\">reload</a><br>\n"); ?> </body> </html>
| Le meilleur langage de programmation est un étudiant diplomé..
|
|
lundi 5 avril 2004 à 21:24:08 |
Re : Faire persister les sessions

Tomcube
|
Mais à première vue ça ne résout pas mon problème ...
------------------------------- Life is a game, Enjoy ! ^^
|
|
jeudi 9 février 2006 à 14:08:04 |
Re : Faire persister les sessions
|
Cette discussion est classée dans : site, www, principal, sessions, persister
Répondre à ce message
Sujets en rapport avec ce message
Session peut être?? [ par asterixobelix ]
François C.J'ai un problème :Code de membre.phpif($data['password'] != $pass) //Si il est différent faire...{ print("Mauvais mot de passe ou nom d'uti
Opengl [ par nicolas66 ]
Sur le site www.manucorp.com j'ai vu qu'il serait possible de rajouter l'extension OpenGl. G téléchargé le pack mé le pb c ke g installé ca sans trop
Cherche personne pour faire site ésotérique [ par zzzzzz ]
Salut J'aimerai savoir si quelqun serrai partant pour faire avec moi (et avoir les meme droit que moi cad admin) un site sur l'ésotérisme. Quelqun qui
fin de fichier [ par morgandetoi06 ]
hellole moteur de recherche du site par en sucette donc je pose ma question sur le forum meme si la solution doit etre deja expliquée dans le site...c
Gestion sessions [ par elanspeech ]
Je souhaiterais pouvoir gerer plusieurs utilisateurs sur mon site avec un systeme de session avec les contraintes : - Un "login" ne peut se logger qu'
Script PHP URGENT !!!! [ par shaoling ]
Salut, je suis a la recherche d'un script php permettant de lister un répertoire, mais pas n'importe quel script :un site : http://www.site.com/index.
COMMENT RECUPERER L'URL SAISI SUR UN SYNONYME ? [ par djpardo ]
Je souhaite connaitre le nom de l'URL saisi lorsque j'arrive sur la première page d'un site ayant 3 synonymes. (Le but est de tester l'origine et de r
petit pb [ par naniekrea ]
bonjour, j'ai un p'tit pb sur un site administré via base de donnéesur www.cdv88.com,j'ai un message d'erreur sur les diaporama administrés : Warning
Nouveau site PHP : www.phpsources.net [ par LaurentKOogar ]
Bonjour,Nouveau site PHP : www.phpsources.net dont l'objectif est d'être un outil pratique pour les webmasters avec de nombreux liens, scripts, téléch
Empecher l'acces DIRECT à un fichier... [ par lavren ]
Bonjour,je ne sais pas trop sur qu'elle site m'adressait car je n'ai aucune idée de la facon dont ce systeme fonctionne. En effet j'ai découvert un si
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|