Script qui change la page au bout x affichage

Kevin -  
 Utilisateur anonyme -
Bonjour,
Je suis à la recherche d'un script: (je ne sais pas si sa existe)
Exemple : j'ai une page 1.html, mes visiteur y accede et une fois que la page a été afficher 20 fois, c'est la age 2.html qui s'affiche.
Si vous m'avez compris, merci par avance,
Kevin
Configuration: Windows XP
Firefox 2.0.0.20

10 réponses

  1. Utilisateur anonyme
     
    tu fait quelque chose comme ça par exemple dans tes pages :

    <?php
    session_start();
    $_SESSION['nbr_vue'] = 0;
    $_SESSION['nbr_vue'] += 1;
    if( $_SESSION['nbr_vue']>20 ){
        //redirection vers page 2
    }
    else{
    }
    ?>
    
    0
  2. Kevin
     
    Merci beaucoup de ta réponse rapide et claire.
    Je vais essayer sa ...
    0
  3. Kevin
     
    C'est clair mais comme je ne connais pas le php, peut-tu mettre un exemple avec un redirection au bout de 20 affichage vers la page http://exemple.com/exemple2.html
    Merci
    0
  4. Utilisateur anonyme
     
    <?php
    session_start();
    $_SESSION['nbr_vue'] = 0; //on créer une session 'nbr_vue', on l'initialise à 0
    $_SESSION['nbr_vue'] += 1; //à chaque ouverture de la page, on ajoute 1
    if( $_SESSION['nbr_vue']>20 ){ //si la page a été vue plus de 20 fois, on redirige
    ?>
        <meta http-equiv="Refresh" content="0;URL=http://exemple.com/exemple2.html">
    <?php
    }
    else{ //sinon, on ne fait rien
    }
    ?>
    

    Voilà, ça devrait fonctionner ;)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Kevin
     
    Je comprend mieux la :)
    Merci beaucoup
    0
  7. Kevin
     
    Bonjour, c'est encore moi :
    Après avoir mis ce code, j'ai cette erreure :
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at xx/xx.php:8) in xx/xx.php on line 22
    
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at xx/xx.php:8) in xx/xx.php on line 22
    0
  8. Utilisateur anonyme
     
    C'est parce qu'il faut que le "session_start();" soit tout en haut de ta page, sinon il ne peut pas fonctionner
    0
  9. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Euh... t'es sûr que le script fonctionne parce que :
    <?php
    session_start();
    $_SESSION['nbr_vue'] = 0;
    $_SESSION['nbr_vue'] += 1;
    ...
    ?>

    À chaque chargement de la page, le compteur est réinitialisé à 0 ...
    Remplace le texte souligné par ça:
    if(empty($_SESSION['nbr_vue'])) {
        $_SESSION['nbr_vue'] = 0;
    }
    0
  10. Utilisateur anonyme
     
    heu... oui effectivement se sera mieux comme ça... désolé j'avais pas fait gaffe à ça...
    0