| Qui est en ligne ? |
| Il y a : 19 utilisateurs en ligne, consultez le détail |
Forum » Serveur, Réseaux et Programmation » Variable de session en php |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 01-05-2009 à 21:26:49 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 13-07-2005 Nombre de messages : 210 |
Bonsoir, Je code actuellement une application en objective-C qui envoie des données (méthode POST) vers une page php de mon serveur. J'aimerais afficher la page résultante mais je ne veux pas l'intégrer via une web view dans mon application. J'ai donc procédé comme suit: - Envoi des informations vers la page php - Ouverture d'une session - Traitement des données (création des variables de session ... etc) - Récupération de l'id de session - Enregistrement des variables de sessions dans un fichier sess.id (remarquez le point pour éviter que ce fichier ne soit écrasé automatiquement) - Retourne l'adresse de la page à ouvrir comme suit : http:/myhost.com/maPage.php?id=xxxxxxxxxxxxx Mon application ouvre ensuite cette URL via openURL. Sur cette nouvelle page, l'id de session est fixé via l'id entré dans l'url et les données de session sont chargées à partir du fichier précédemment enrigistré. Le hic c'est que toutes les variables de sessions sont bonnes exceptée une seule ... qui est pourtant bien présente dans le fichier de sauvegarde de la session. En fait, le fichier de sauvegarde contient dans l'ordre: - des variables de types string (qui sont ok) - une variable de type array (qui est ok) - une variable de type array (celle qui déconne) - d'autres variables (qui sont ok) J'ai supprimé le premier tableau qui est bien chargé ---> la variable qui déconne est reconnue Si je place le premier tableau qui est bien chargé à la suite de la variable non reconnue ---> c'est ce tableau qui n'est pas reconnue Bref j'en perds mon latin. Voici le code utilisé pour écrire le fichier de sauvegarde:
$session_data = session_encode();
session_write_close();
$filehandle = fopen ("../sessions/sess.".session_id(), 'w+');
fwrite ($filehandle, $session_data);
fclose ($filehandle);
Et le code pour le lire:
$filehandle = fopen ("../sessions/sess.".session_id(), 'r');
$sessiondata = fread ($filehandle, 4096);
fclose ($filehandle);
session_decode($sessiondata);
SI vous avez des suggestions ... --Message édité par zephyroth le 01-05-2009 à 21:39:07-- |
|
|
#1 Message posté le : 02-05-2009 à 21:49:22 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 13-07-2005 Nombre de messages : 210 |
je dois être complètement abruti c'est pas possible ... $sessiondata = fread ($filehandle, 4096); Quand la quantité de données à récupérer est supérieure, forcément certaines données passent à l'as ... Si j'étais pas moi j'me fouterais de ma gueule ! |
|
|
#2 Message posté le : 03-05-2009 à 10:02:15 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 18-11-2007 Nombre de messages : 95 |
Tu fais comment pour savoir la taille en octet de ce que tu devras lire du coup ? |
|
|
#3 Message posté le : 03-05-2009 à 11:24:09 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 13-07-2005 Nombre de messages : 210 |
Supposes que tu veuilles lire ce fichier ../sessions/maSession.txt:$fichier = "../sessions/maSession.txt"; $filehandle = fopen($fichier, "r"); $contenuFichier = fread($filehandle, filesize($fichier)); En ce qui me concerne j'avais fixé cette taille pour une raison qui m'échappe. En même temps j'avais plus touché ce fichier depuis un bail donc forcément quand on commente pas bien son code ... |
|
|
#4 Message posté le : 03-05-2009 à 12:26:50 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 18-11-2007 Nombre de messages : 95 |
Ok merci |
| Page : [1] |
Forum » Serveur, Réseaux et Programmation » Variable de session en php |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages