Erreur php avec session

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur php avec session

par Ajoloca » 14 févr. 2007, 19:13

Re,
Je l'ai toujours fait dans l'autre sens, et jamais de PB.

D'un autre coté il est déconseillé d'utiliser session_register(), tu risques d'avoir des surprises sur certains serveurs.

par bunk » 14 févr. 2007, 19:06

je comprend bien ce que tu dis, mais comment il va pouvoir démarrer la session du non que je veux ou la lire/modifier si il ne connait pas ce fameux nom ?

de plus cette même doc dis aussi : -"Il faut donc utiliser session_name() au début de chaque script, et notamment avant session_start() ou session_register()."

par Ajoloca » 14 févr. 2007, 19:02

Re,

Si je lits bien la doc de la page que tu donnes en lien je vois
session_name — Lit et/ou modifie le nom de la session
ce qui pour moi veut dire que la session doit exister, non ???
sinon comment pourrait-il la lire ou la modifier ???
Suit mon conseil et tu ne te porteras que mieux.

par bunk » 14 févr. 2007, 18:55

Ben en fait j'aplique la doc : php.net/session_name

sinon j'ai résolu comme ca :
<?php

if(isset($_SESSION['auth']) && (!empty($_SESSION['auth']))){

	if(!$_SESSION['auth'] == 'OK'){
		$_SESSION = array();
		session_destroy();
	}

}

?>
Ca fonctionne.

par Ajoloca » 14 févr. 2007, 18:46

Ton code commence par session_name() et non pas par session_start().

par bunk » 14 févr. 2007, 18:41

oui, oui, elles commencent toutes par mon 2eme code.

par Ajoloca » 14 févr. 2007, 18:38

Re,

As-tu bien lu ce que je t'ai dit ?

Toutes doivent commencer...

par bunk » 14 févr. 2007, 18:36

J'ai pas tout mis mais effectivement mes pages commences par :
<?php

// SESSION PHP
session_name('sess');

session_cache_limiter('sess');
$cache_limiter = session_cache_limiter();
session_cache_expire (30);
$cache_expire = session_cache_expire();

session_start();

?>
et ensuite mon autre code.

par Ajoloca » 14 févr. 2007, 18:30

Bonjour,

Pour pouvoir utiliser les session, toutes, je dis bien toutes, tes pages doivent commencer par "session_start()".

Ce n'est qu'à la suite que tu pourras manipuler les variables de session.

Erreur php avec session

par bunk » 14 févr. 2007, 18:21

Bonjour,

Sur le site que je fais actuellement, lors de la connexion j'initialise une variable : $_SESSION['auth'] = 'TEST'

Dans mon index.php j'ai une série de ligne du type :
<?php

if(!$_SESSION['auth'] == 'TEST'){
	$_SESSION = array();
	session_destroy();
}

?>
Mais autant IE que firefox m'affiche l'erreur suivante : Undefined index: sess_auth

tant que l'utilisateur n'est pas connecté.

Je comprend qu'en fait comme la variable n'existe pas il ne comprend pas dans le cas ou le visiteur n'a pas de session. Y'a t'il un moyen de corriger cette erreur ?

D'avance merci