probleme de session

douxbisous
Invité n'ayant pas de compte PHPfrance

19 juil. 2005, 12:54

Les sessions fonctionnent mais que je veux faire un compteur je n'ai pas incrementation.
Il me cree un nouveau fichier de session dans mon repertoire sessions
voila le code
<?php
session_start();
if (!session_is_registered('compteur')) {
   session_register('compteur');
   $compteur = 1;
} else {
   $compteur++;
}
?>

<p>
Bonjour visiteur, vous avez vu cette page <?php echo $compteur; ?> fois.
</p>

<p>
Pour continuer, <a href="nextpage.php?<?php echo strip_tags(SID); ?>">cliquez ici</a>.
</p> 
Pkoi????

fichier php.ini
[Session]
session.save_handler = files
session.save_path = "c:/monsite/sessions"
session.use_cookies = 0
session.use_only_cookies = 0
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = "c:/monsite/sessions"
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file = "c:/monsite/sessions/random"
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
;session.entropy_file = /dev/urandom Set to {nocache,private,public,} to
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"


Merci d'avance pour votre

Mammouth du PHP | 19672 Messages

19 juil. 2005, 13:00

Merci de lire les règlements et d'utiliser les boutons [php] ou [code] lorsque tu envoies du code, c'est plus facile à lire.

Pour ton problème, essaye donc avec ça:
<?php
session_start();
if (!isset($_SESSION['compteur']))
{
   $_SESSION['compteur'] = 1;
}
else
{
   $_SESSION['compteur']++;
}
?>

<p>
Bonjour visiteur, vous avez vu cette page <?php echo $_SESSION['compteur']; ?> fois.
</p>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

douxbisous
Invité n'ayant pas de compte PHPfrance

19 juil. 2005, 13:16

je suis desolee !!!pour code et php


Sinon je viens essayer le bout de code ca ne marche toujours pas

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 juil. 2005, 13:21

Quand tu dit "Ca ne marche pas", tu entends quoi ? Qu'est ce qui te fait dire que ça ne marche pas ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

douxbisous
Invité n'ayant pas de compte PHPfrance

19 juil. 2005, 13:30

Je pense que le script est bon.
Pkoi il ne marche pas ?
quand je recharge la page dans mon navigateur il n'increme pas
Il reste toujours à 1.
Quand je vais voir dans mon répertoire sessions je vois la creation de plusieurs fichiers sessions.
Il ecrasse pas mon fichier et donc ne l'incremente pas
j'ai plusieurs fichiers de sessions avec une valeur à 1


voila[/code][/php]

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 juil. 2005, 13:36

On dirais que le session_start ne récupère pas la session précédément ouverte, c'est étrange

Quel est ton serveur web ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

douxbisous
Invité n'ayant pas de compte PHPfrance

19 juil. 2005, 13:42

Mon serveur est apache2.0.53

page1

[code]

<?php
session_start();
?>
<html>
<body>
<form method="POST" action="page2.php">
Entrez votre nom:<input type="TEXT" name="nom">
<input type="SUBMIT" value="OK">
</form>
</body>
</html>
[/code]
Page2
[code]
<?php
session_start();

$_SESSION['nom'] = $_POST['nom'];


?>
<html>
<body>
Bienvenue sur ce site <b>
<?php echo $_SESSION["nom"] ?>
</b>.<br />
Regardons ce qui se passe sur la 
<a href="Page3.php"> Page</a> suivante.<br />
echo '<a href="page3.php?'.SID.'">page 3</a>';
<a href="page1.php">page 1</a>
</body>
</html>
[/code]
page3
[code]
<?php
session_start();


if(isset ($_SESSION['nom'])){
	$nom = $_SESSION['nom'];}
else{
	$nom = "mais votre nom été effacé";}


?>

<html>
<body>
Vous êtes tj parmi nous
<b>
<?php echo $nom; ?></b>.<br />

</body>
</html>[/code]

Code : Tout sélectionner

Je récupere bien le nom dans la troisieme page je comprends pas pourkoi il me crée des nouveaux fichiers de sessions pour compteur??????

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

19 juil. 2005, 13:47

Note : Si $_SESSION (ou $HTTP_SESSION_VARS en PHP 4.0.6 et plus ancien) est utilisé, utilisez la fonction isset() pour vérifier la présence de la variable dans $_SESSION.
source : http://fr2.php.net/manual/fr/function.s ... stered.php
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

douxbisous
Invité n'ayant pas de compte PHPfrance

19 juil. 2005, 13:56

Personne à la reponse a mon probleme??

Mammouth du PHP | 543 Messages

19 juil. 2005, 14:11

Va voir dans le phpinfo les valeur des variables session.use_cookie, session.use_only_cookie, session.user_trans_sid et dis moi si elles sont a on ou off.

@++

Invité
Invité n'ayant pas de compte PHPfrance

19 juil. 2005, 14:21

Voila le copier coller
php.info

Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path c:/monsite/sessions c:/monsite/sessions
session.cookie_secure Off Off
session.entropy_file c:/monsite/sessions/random c:/monsite/sessions/random
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path c:/monsite/sessions c:/monsite/sessions
session.serialize_handler php php
session.use_cookies Off Off
session.use_only_cookies Off Off
session.use_trans_sid 1 1