Forum Clubic

[résolu] PHP :Sessions et rafraichissement - Pb avec les sessions

Bonjour,

Je travaille en php et j’ai un petit problème :
sur une page page01.php je code est :

<?
session_start();

echo $_SESSION['bonjour'];

$_SESSION['bonjour']=1;

?>

En fait, normalement, lors de la première ouverture de la page, je voudrais qu’il ne s’affiche rien ($_SESSION[‘bonjour’] est vide). Lorsque la page est raffraichi, je voudrais que cela affiche 1, mais cela ne marche pas

Merci de votre aide

Un problème de cache du navigateur peut-être… chez moi ça marche.

verifie les options de ton server, si les variables session sont activées :wink:

Les variables de session sont activées, car j’utilise les sessions sans problème, a part celui la

c’est super chelou effectivement.

ton session_start() est bien au debut de ta page, et ce n’est pas une page appelée en include ?

tu vois les erreurs php, quand tu en genere ? Car sur certain serveur, les erreur php sont stockée sur un log et pas affiché sur les pages. C plutot chiant comme systeme…

il manque un truc : elle fait quoi ta page chez toi ?

Essaye <?php au lieu de <?.. Si PHP est en mode Short Tag off, ton navigateur va ignorer (ne pas afficher) la partie entre <? et ?> et aucun code ne sera éxécuté.

Au passage, édite (http://www.clubic.com/forum/style_images/persoclubic/editer.gif) le titre de ton sujet pour y mettre le langage s’il te plait.

J’ai vérifié le script que je vous ai donné, il marche, mais le script pour lequel je l’utilise lui, ne marche pas :

Voici le code

<? 
session_start();

if($_SESSION['temps']<time()-60) {
$_SESSION['temps']=time();
echo'Plus de 60 secondes depuis le dernier rafraichissement';
} else {
echo'Pas plus de 60 secondes depuis le dernier rafraichissement';
}
?>

my way of doing it !


<?php

session_start();

if(!isset($_SESSION['temps'])) $_SESSION['temps']=time();

$deltat=time()-$_SESSION['temps'];

echo "$deltat secondes depuis le dernier rafraichissement<br>";

if( $deltat > 60 )
{
echo "Timeout !<br>";
$_SESSION['temps']=time();
}

?>

Vous n’auriez pas oublié des accolades sur la 2ème ligne de code ?

heu … non.

une accolade marque un debut de bloc de code cad une liste d’instruction…

dans mon if il n’y a qu 1 instruction conditionnelle donc pas besoin de marquer une liste d’instruction :slight_smile:

on peut toutefois faire une liste d’une seule instruction c meme plus propre comme habitude de codage !

ps le vous est de trop lol

je TE remercie mais je ne pourrais pas TE dire le résultat aujourd’hui parce que je suis héberger chez FREE et qu’ils déménagent les pages persos : je ne peux donc pas tester mes pages :frowning:

Ca ne marche pas, il me met toujours 0 secondes depuis le rafraichissement, si je l’insères dans une page, mais ca marche si je le met tout seul

moi ça marche
http://davidberlioz.free.fr/pub/toto.php

le source
http://davidberlioz.free.fr/pub/toto.txt

tu as créé le repertoires sessions dans le root de ton site free ?

oui il est créé : si je lance la page juste avec le script, ca marche, si j’inclus ce script dans ma page index.php, ca marche pas !!!

sans indiscretion mail moi le code index.php (si tu veux) berlioz@nicematin.fr

non je préfère pas, mais cependant je crois avoir trouvé l’origine du problème : une iframe !!!, cependant je ne sais pas comment résoudre le problème : j’essaie de modifier l’iframe de manière a la transformer en include : quand je fais cela, j’ai certaines images qui n’apparaissent qu’une fois sur 2 !!!

imagine le bonheur quand t aura trouvé la soluce ! :wink: bon week

merci

Se peu que t’ai un soucis avec le parametrage des sessions ds le php.ini :

place :
echo session_id().’<br />’;
sous ton session_start();

en tout cas ton code n’est pas en cause ca marche très bien.

si ton id de session change, y a un problème sur le dossier des sessions(a moins que ce soit parametré pour passer le PHPSESSID uniquement dans une URL…
utilise ini_set() et va faire un tour sur php.net quant aux variables à modifier :slight_smile: