changement de système de session

Répondre
BornToBe
le 16/09/2004 à 14:17
BornToBe
Salut à tous!

Bon alors il m'arrive un truc bizarre: c'est-à-dire qu'il y a deux semaines, mon hébergeur a tenté de passer son serveur en PHP 5. Finalement tous les autres sites ont accusé le coup alors il a dû repasser en PHP 4. Et que c'est-il passé? Tout mon système de sessions (fortement inspiré du cours de notre Globule nationalesmiley) ne marche plus. J'en ai fait part à mon hébergeur qui m'a dit qu'il ne faut plus utiliser $_SESSION mais session_register().
D'une part cela m'étonne puisque justement La Globule précise dans son cours qu'il le fait dans le contexte du PHP 4.
Et d'autre part, ben je n'arrive pas à voir comment remplacer les méthodes concernant les variables de connection.

Je sais pas trop si j'ai été clair...smiley

BTB
Nì heolas go haontìos
zebden
le 16/09/2004 à 14:22
zebden
session_register() devient obselète quand les variables globales sont à OFF , il vaut mieux utiliser $_SESSION , donc ce qu'on t'as dit c'est faux ..
Sauf s'ils ont repassé le serveur a une version PHP antérieure à la 4.1.0 dans ce cas change $_SESSION par¨$HTTP_SESSION_VARS
zebdinou pour les intimes / Blog : http://www.zebden.fr
BornToBe
le 16/09/2004 à 14:34
BornToBe
Pourtant le mec a l'air bien callé en PHP.
Il m'a filé une espèce d'aide par mails mais que je ne comprends pas:
session_start();
session_register("Slogin");
session_register("Spass");
session_register("SUserNom");
(...)
$Slogin=$usr_login;
$Spass=$usr_password;
$SUserNom=$usr_nom;
(...)

auquel j'ai répondu que je ne voyais pas comment il l'utilisait, puis:
UTILISATION :
<?
session_start();
if ($Slogin == "hhh"){action}

etc....
?>
chaque fois que session_start(); est utilisé, si la variable est renseignée, elle est connu de tous les scripts, il n'y a que lorsque le navigateur est fermé que la session est désactivée.
(après m'avoir expliqué le rôle des fonctions plus haut)que j'ai cru comprendre au début mais que je n'arrive pas à appliquer...

Voilà, au cas où tu vois où il veut en venir...

BTB
Nì heolas go haontìos
i M@N
le 16/09/2004 à 14:46
i M@N
Hello !

Spa compliqué : tu codes en register_global à off :

Au lieu de faire :
session_start();
session_register("Spass");
tu fais :
session_start();
$_SESSION['id'] = $Spass;
/* avec $Spass qui vient d'une variable en $_GET ou $_POST ou de ta base de données*/
PLus d'info sur comment coder en register_global à off ici : http://www.lephpfacile.com/forums/read_msg.php?f=1&id=2438

@+...
One Love, One Heart, One Unity.
i M@N
le 16/09/2004 à 14:54
i M@N
Arf ...

Tu fais :
session_start(); 
$_SESSION['Spass'] = $Spass;
/* avec $Spass qui vient d'une variable en $_GET ou $_POST ou de ta base de données*/
Désolé ... j'ai un peu de mal today.

@+...
One Love, One Heart, One Unity.
zebden
le 16/09/2004 à 17:36
zebden
la méthode qu'on t'as donnée est une mtehode juste quand les var globales sont activées mais pour un souci de securité il vaut mieux les mettre dans le tableau de session.
Il te reste le manuel PHP , tu tape session_register() , ca devrait t'eclairer un peu plus.
zebdinou pour les intimes / Blog : http://www.zebden.fr
BornToBe
le 16/09/2004 à 17:43
BornToBe
Je viens de me renseigner, et je crois qu'ils sont en PHP 4.0.4. Je reprends donc ce qu'a dit Zebden: il suffit de remplacer $_SESSION par $HTTP_SESSION_VARS ?? Rien d'autre??

Sinon, merci pour vos conseils. Mais personne ne voit comment voulait faire le mec? Parce que dans un premier temps, je préfèrerais suivre ce qu'il me dit: c'est un hébergeur indépendant et il préconise cette solution pour l'utiliser lui-même... Mais bon, comme c'est pas le genre à prendre un peu trop de son temps pour expliquer les choses... Pas comme vous, quoi!!!smileysmileysmileysmiley

BTB
Nì heolas go haontìos
BornToBe
le 16/09/2004 à 17:47
BornToBe
J'avais pas vu ton message. Non mais session_register je vois ce que c'est, j'ai déjà regardé dans le manuel. Mais le truc, c'est que je ne sais pas comment l'appliquer au code que j'ai déjà fait...

Par exemple, ma page de login, c'est exactement - ou presque - la même que dans les cours de La Globule. Que faudrait-il changer?

BTB
Nì heolas go haontìos
zebden
le 16/09/2004 à 18:02
zebden
A l'enregistrement :

au lieu de faire :
$_SESSION['variable'] = "truc";

ca donne :
$variable = "truc",
session_register($variable);

Pour recuperer :
au lieu de faire :
echo $_SESSION['variable'];

ca donne
echo $variable;

Mieux vaut utiliser les tableaux ...
zebdinou pour les intimes / Blog : http://www.zebden.fr
BornToBe
le 16/09/2004 à 18:06
BornToBe
Merci beaucoup.
Et qu'est-ce que tu veux dire à propos des tableaux de sessions?

BTB
Nì heolas go haontìos
Répondre
LoadingChargement en cours