Php

Fermé
thomas.r Messages postés 79 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 janvier 2009 - 4 sept. 2008 à 11:45
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 - 4 sept. 2008 à 15:08
Bonjour,

J'ai une fonction (fonction-principal) qui parse un xml et met toutes les informations dans un tableau.

Mon problème c'est que dans d'autres fonctions j'ai besoin de ce tableau. Le problème c'est que le xml est assez lourd et donc l'appel de la fonction-principal qui se fait plusieurs fois alourdit la mémoire vive

Comment faire pour garder en mémoire ces informations par exemple pendant la connexion de l'utilisateur puis l'effacer à la fin de sa connexion ? Pouvez vous me guider vers une solution ?

Merci de votre aide.
A voir également:

5 réponses

gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
4 sept. 2008 à 11:47
Salut,

t'as essayé en utilisant les $_SESSION ????

A+

Gaerebut
0
thomas.r Messages postés 79 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 janvier 2009 2
4 sept. 2008 à 11:58
En fait, mon problème c'est que je n'utilise pas de login pour mon client alors que l'utilisation du $_SESSION demande un login préalable de celui-ci.
0
thomas.r Messages postés 79 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 janvier 2009 2
4 sept. 2008 à 12:17
Apparement pour pouvoir utiliser $_SESSION il faut loguer l'utilisateur quelque part mais comment faire si l'utilisateur peut accéder au site de par différentes pages ? où mettre les session_start() ?

J'ai une idée, pouvez vous me dire si c'est la bonne :

mettre des session_start dans toutes les pages suivies d'un test pour savoir si la session est déjà active (mais je ne vois pas trop comment puisque je ne connais pas trop cette méthode) ensuite stocker mes données dedans (si j'utilise des classes mettre ma fonction principale en tant qu'attribut ?) et faire appel au tableau $_SESSION pour récupérer les infos dans n'importe quel page ?

Merci
0
thomas.r Messages postés 79 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 janvier 2009 2
4 sept. 2008 à 11:54
non je ne l'ai pas utilisé sur mon site. Je vais potasser tout ça merci.
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
4 sept. 2008 à 12:52
Re,

ben si votre site utilise marche sur un systeme de page incluse, il faut mettre qu'un seul session_start();

Par exemple, si c'est l'index qui inclue les pages, il faut juste mettre session_statr() au début de l'index (.php)

Puis ensuite, il n'est pas obligatoire qu'il y est un login, on peut une véirication de ce type:

if(isset($_SESSION['id']))//Si la session portant le nom 'id' existe
{
//Si les sessions existe déjà ... a toi de voir ce que tu peux mettre ^^, si il y a rien,
content toi de mettre un '!' devant le isset et de juste la condition contraire.
}
else
{
$_SESSION['id'] = $_POST['id']; //Ici, on créé une session nommé 'id' et elle contient une donnée qu'on a envoyé par méthod POST, ici c'est un id comme le voit sur le name envoyé.

//on peut créer d'autre session (nom différent) et notamment construire ton tableaux et l'intégrer dans un session. ;)
}


A+

Gaerebut
0
thomas.r Messages postés 79 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 janvier 2009 2
4 sept. 2008 à 14:11
merci de votre intérêt à me répondre. mon site est basé sur plusieurs pages html et php qui vont de l'une à l'autre par lien et non incluse dans une seule page. Cependant les fonctions que j'utilise se trouve dans une seule page peut-être que je devrait mettre le session_start()
0
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
4 sept. 2008 à 14:13
Je ne pense pas non !

Car le session_start() doit se faire au début de la page, avant tout code HTML.

Donc je pense que vous pouvez soit appeller le fichier de fonctions dans chaque fichiers (au tout début) et donc, mettre session_start() dans le fichier de fonctions.
Ou soit, vous mettez session_start() au début de chaque fichier (le fichier que vous avez besoin)

A+

Gaerebut
0
thomas.r Messages postés 79 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 29 janvier 2009 2
4 sept. 2008 à 14:24
et ouai est-ce que met le session_close() ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gaerebut Messages postés 1017 Date d'inscription mardi 30 octobre 2007 Statut Membre Dernière intervention 22 novembre 2013 171
4 sept. 2008 à 15:08
Tu le mets à l'endroit qui vérifie la condition:

Si l'utilisatueur à cliquer sur "Déconnexion", alors ...


Sinon, je pense que le server le fais tout seul au bout d'un certain moment d'inactivitée ;)


A+

Gaerebut
0