2010-10-26 9 views
0

Je rencontre des problèmes avec la session où si je mets le code suivant sur une page, le compteur augmentera de un chaque fois que je recharge la page.

session_start(); 
if(isset($_SESSION['views'])) 
    $_SESSION['views'] = $_SESSION['views']+ 1; 
else 
    $_SESSION['views'] = 1; 

si je mets le code ci-dessus dans une instruction if où il ne fonctionne que lorsque vous appuyez sur un bouton et d'afficher le numéro de la session de la session est toujours vide.

Y a-t-il un problème avec php.ini?

Merci à l'avance

+0

vous commencez la session en utilisant 'session_st art() '? –

+1

S'il vous plaît poster le reste de votre code. C'est difficile à dire à partir de cette information. php.ini semble peu susceptible d'être impliqué, autant que je peux voir. – JAL

+0

ci-dessous est une version très simpliste de ce qui se passe session_start(); if ($ _ POST ["btnSubmit"]) { \t \t $ _SESSION ["views"] ++; \t } echo "VUES:". $ _ SESSION ["vues"];

\t
adamias

Répondre

0

Votre session n'a pas pu être lancé. Vérifiez que tmp si le serveur peut écrire (de nombreux problèmes de session sont liés avec le disque plein!)

+0

il suffit de cocher le répertoire tmp où les sessions sont enregistrés et le dossier a les permissions correctes et est seulement 7% plein – adamias

0

Vérifiez également php.ini pour vous assurer que session.auto_start = 1 et le code ...

//debug your session 

echo"<!--".session_id()."-->";

//update the views 

array_key_exists('views',$_SESSION)?$_SESSION['views']++:$_SESSION['views']=1;

+0

vous voudrez supprimer le débogage une fois que vous avez réglé le problème, mais de cette façon vous pouvez vérifier pour voir si vous avez une session mais ce n'est pas la même session ... – FatherStorm

+0

Salut si j'affiche l'ID de session sur la page de chargement, puis afficher ce que l'ID de session est sur le retour, ils sont tous deux les mêmes. J'ai également parcouru les variables de session pour voir quelles sont les clés que j'ai et toute session qui est créée (tentée) dans le post n'est toujours pas sauvegardée. – adamias

+0

J'ai également vérifié les paramètres de php ini et la session.auto_start a été définie à 0, donc j'ai changé cela et j'ai toujours le même problème – adamias

0
session_start(); 

if(isset($_SESSION['views'])) 
    $_SESSION['views']++; 
else 
    $_SESSION['views'] = 1;