Conserver sa session_id() d'un site à un autre !

Eléphant du PHP | 53 Messages

30 mars 2010, 09:28

Jusque maintenant j'ai toujours utilisé mes $_POST pour un formulaire :(

Je vois vraiment pas comment procéder 8-|

ViPHP
ViPHP | 5462 Messages

30 mars 2010, 09:42

oui un lien c'est le plus simple, si tu veux pas passer par GET tu fais un formulaire avec un bouton (ou lien pour valider le formulaire) et tu met ta session par POST, genre un coup de base64 + gzip

Eléphant du PHP | 53 Messages

30 mars 2010, 09:46

Et j'envois le tout sur l'autre site ?? Mais on peut passer d'un domaine à un autre ? En faisant passer des données ?? :shock:

Comment je stocke mon $_SESSION dans mon $_POST ?

Eléphant du PHP | 53 Messages

30 mars 2010, 09:47

"base64 + gzip" ??

:shock:

Encore désolé mais j'ai jamais utilisé tout ça :(

ViPHP
ViPHP | 5462 Messages

30 mars 2010, 09:49

Et j'envois le tout sur l'autre site ?? Mais on peut passer d'un domaine à un autre ? En faisant passer des données ?? :shock:

Comment je stocke mon $_SESSION dans mon $_POST ?
ouai, par contre attention au niveau de la définition de tes classes
<input type="hidden" name="session" value="<?php echo base64_encode(serialize($_SESSION)); ?>"/>
coté site B ca devrait un truc du genre
$sess = unserialize(base64_decode($_POST['session']));

Eléphant du PHP | 53 Messages

30 mars 2010, 09:52

Ok je vais essayé ! Mais pk encoder en base 64 ??

ViPHP
ViPHP | 5462 Messages

30 mars 2010, 09:54

Ok je vais essayé ! Mais pk encoder en base 64 ??
pas de caractère spéciaux, si ta des donnée binaire il les encode aussi.

Eléphant du PHP | 53 Messages

30 mars 2010, 10:16

Ok j'ai testé et ça marche pas :) Démo :

Site A:
<?php
session_start();  
var_dump($_SESSION);

?>
<form method="POST" action="http://siteB.com/testSession.php" > 	
<input type="hidden" name="session" value="<?php echo base64_encode(serialize($_SESSION)); ?>"/> 	
<input type="submit" value="Envoyer"> 
</form>
Résultat:

Code : Tout sélectionner

array(2) { ["SESSION"]=> &array(2) { ["connect"]=> ....... <== Ma session [Envoyer] <== Bouton !
Donc là niquel !

Site B, testSession.php:
session_start();
$sess = unserialize(base64_decode($_POST['session']));
echo $sess;
Résultat:

Code : Tout sélectionner

Array

ViPHP
ViPHP | 5462 Messages

30 mars 2010, 10:20

faire un var_dump($_SESSION); sur ton site A, comme je t'ai dis plus haut si tes classe son pas définies ca marcheras pas

Eléphant du PHP | 53 Messages

30 mars 2010, 10:26

Ben je l'ai fais :( Et ça m'affiche bien ma session :(


array(2) { ["SESSION"]=> &array(4) { ["caddie"]=> object(__PHP_Incomplete_Class)#1 (3) { ["__PHP_Incomplete_Class_Name"]=> string(6) "Caddie" ["articles"]=> array(0) { } ["total"]=> int(0) } ["preferences"]=> array(0) { } ["utilisateur"]=> array(12) { ["nom"]=> string(9) "pouet" ["prenom"]=> string(9) "pouet" ["email"]=> string(9) "pouet" ["id"]=> string(5) "16512" ["statut"]=> string(1) "0" ["visite"]=> string(1) "0" ["stop_pub"]=> string(1) "N" ["offre"]=> string(1) "0" } ["ip"]=> string(13) "" } ["rupture"]=> ∫(1) }

Comment définir mes classe dans le cas présent Oo

ViPHP
ViPHP | 5462 Messages

30 mars 2010, 10:32

non c'est pas bon :
__PHP_Incomplete_Class_Name

Eléphant du PHP | 53 Messages

30 mars 2010, 10:36

Comment faire :(

ViPHP
ViPHP | 5462 Messages

30 mars 2010, 10:37

Comment faire :(
a quoi correspond ta class caddie ?

Eléphant du PHP | 53 Messages

30 mars 2010, 10:50

C'est chaud de reprendre un projet xD

j'ai trouvé la classe caddie !

C'est une classe avec des fonctions :p

class Caddie {
var $articles; /* Tableau des articles */
var $total; /* Montant total du caddie */

function Caddie() {
...
}

function init() {

...
}
.
.
.
}

Que faire avec ça :/

ViPHP
ViPHP | 5462 Messages

30 mars 2010, 10:59

avant de faire ton var_dump($_SESSION), tu fais un require_once 'chemin/vers/lib/caddie.php'