Partage
  • Partager sur Facebook
  • Partager sur Twitter

faire une redirection sur la même page

    4 janvier 2010 à 11:35:05

    bonjour, j'aimerais bien aprendre à faire une redirection sur la même page

    par exemple pour la page deconnexion.php

    <?php
    session_start();
    include("../includes/identifiants.php");
    
    mysql_connect($adresse, $nom, $motdepasse);
    mysql_select_db($database);
    
    mysql_query('DELETE FROM forum_whosonline WHERE online_id='.intval($_SESSION['id'])) or die (mysql_error());
     
    //mise à jour de la date de derniere visite
    mysql_query("UPDATE forum_membres SET membre_derniere_visite = '".time()."' WHERE membre_id = '".intval($_SESSION['id'])."'" )or die( mysql_error() );
     
    //Destruction des variables de session
    if (isset ($_COOKIE['pseudo']))
            setcookie('pseudo', '', -1);
            
    //Destruction de la session
    session_destroy();
    include("../includes/debut.php");
     
    echo '<p class="cadre_centrer">Vous êtes à présent déconnecté.</p>';
    ?>
    


    là mon echo :

    echo '<p class="cadre_centrer">Vous êtes à présent déconnecté.</p>';
    


    il affiche sur une nouvelle page et j'aimerais savoir comment on met cette echo sur la page index.php

    car j'aimerais le faire tout mes redirections sur la même page au lieu sur une nouvelle page

    mais j'aimerais savoir comment on procéde es ce que c'est simple où c'est trés compliqué et il faut remodifier tout le code pour permettre mon echo s'affiche sur la page index

    où c'est trés simple

    merci de me dire comment on fait

    bonne année 2010
    • Partager sur Facebook
    • Partager sur Twitter
      4 janvier 2010 à 11:44:38

      Bonjour,

      Il suffit d'afficher ton message sur ton index.php :)

      Pour cela, tu dois remplacer le echo de ta page deconnexion.php par ça :

      <?php header('Location: index.php');
      


      Et sur l'index.php, plusieurs choix s'offre à toi : soit tu regardes la page précédente, s'il s'agit de la page déconnexion.php, tu fais le echo, soit tu passes un paramètre dans l'url dont tu testes la valeur.

      <?php header('Location: index.php?pageavant=deconnexion');
      


      ++
      • Partager sur Facebook
      • Partager sur Twitter
        4 janvier 2010 à 12:02:04

        merci je pense avoir compris mais j'ai une érreur :

        donc j'ai mis :

        deconnexion

        <?php
        session_start();
        include("../includes/identifiants.php");
        
        mysql_connect($adresse, $nom, $motdepasse);
        mysql_select_db($database);
        
        mysql_query('DELETE FROM forum_whosonline WHERE online_id='.intval($_SESSION['id'])) or die (mysql_error());
         
        //mise à jour de la date de derniere visite
        mysql_query("UPDATE forum_membres SET membre_derniere_visite = '".time()."' WHERE membre_id = '".intval($_SESSION['id'])."'" )or die( mysql_error() );
         
        //Destruction des variables de session
        if (isset ($_COOKIE['pseudo']))
                setcookie('pseudo', '', -1);
                
        //Destruction de la session
        session_destroy();
        header('Location: index.php');include("../includes/debut.php");
         
        
        
        ?>
        


        et on affiche l'echo dans ma page index.php

        <?php
        //Cette fonction doit être appelée avant tout code html
        session_start();
        
        //On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
        $titre = "Index du forum";
        ?>
        
        
        <?php
        //Maintenant, on se connecte à la base de données
        include("includes/identifiants.php");
        mysql_connect($adresse, $nom, $motdepasse);
        mysql_select_db($database);
        include("includes/debut.php");?>
        <body>
        
        <?php
        include("includes/menu_du_haut.php");
        ?>
        <br />
        <div class="cadre_du_menu_de_gauche">
        <?php
        include("includes/menu_de_gauche.php");
        ?>
        </div>
        <div class="cadre_du_programme">
        <?php header('Location: index.php?pageavant=deconnexion'); ?>
        
        Le Site du coffre > Les news > Accueil 
        <br>
        <br>
        


        mais voilà mon érreur

        Citation

        Warning: Cannot modify header information - headers already sent by (output started at /mnt/144/sdb/b/c/site/index.php:9) in /mnt/144/sdb/b/c/site/index.php on line 9



        et donc ce code :

        <?php header('Location: index.php?pageavant=deconnexion'); ?>

        si jer veut faire la même chose pour livre d'or avec echo votre message à éte bien envoyé et tout le reste du site et forum je remet le code et je change deconnexion par livre dor etc..

        mais y a t'il pas un moyen de faire un code pour tout les pages

        merci
        • Partager sur Facebook
        • Partager sur Twitter
          4 janvier 2010 à 12:07:51

          Re,

          Regarde les commentaires dans le code :

          Citation : will.smith

          <?php
          session_start();
          include("../includes/identifiants.php");
          
          mysql_connect($adresse, $nom, $motdepasse);
          mysql_select_db($database);
          
          mysql_query('DELETE FROM forum_whosonline WHERE online_id='.intval($_SESSION['id'])) or die (mysql_error());
           
          //mise à jour de la date de derniere visite
          mysql_query("UPDATE forum_membres SET membre_derniere_visite = '".time()."' WHERE membre_id = '".intval($_SESSION['id'])."'" )or die( mysql_error() );
           
          //Destruction des variables de session
          if (isset ($_COOKIE['pseudo']))
                  setcookie('pseudo', '', -1);
                  
          //Destruction de la session
          session_destroy();
          // header('Location: index.php'); IL FAUT UTILISER l'écriture longue pour distinguer le message à afficher comme ci-après 
          header('Location: index.php?pageavant=deconnexion');
          
          
          // include("../includes/debut.php"); RIEN A FAIRE LA, le visiteur ne voit plus cette page !!!
           
          ?>
          



          <?php
          //Cette fonction doit être appelée avant tout code html
          session_start();
          
          //On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
          $titre = "Index du forum";
          ?>
          
          
          <?php
          //Maintenant, on se connecte à la base de données
          include("includes/identifiants.php");
          mysql_connect($adresse, $nom, $motdepasse);
          mysql_select_db($database);
          include("includes/debut.php");?>
          <body>
          
          <?php
          include("includes/menu_du_haut.php");
          ?>
          <br />
          <div class="cadre_du_menu_de_gauche">
          <?php
          include("includes/menu_de_gauche.php");
          ?>
          </div>
          <div class="cadre_du_programme">
          <?php 
          if(isset($_GET['pageavant']) && $_GET['pageavant']=='deconnexion') {
            echo 'Vous avez été déconnecté :)';
          }
          else if(isset($_GET['pageavant']) && $_GET['pageavant']=='livredor') {
            echo 'Votre message a bien été posté :)';
          }
          // ...
          
          
          Le Site du coffre > Les news > Accueil 
          <br>
          <br>
          


          ++
          • Partager sur Facebook
          • Partager sur Twitter
            4 janvier 2010 à 12:21:15

            merci j'ai compris donc il faut plein des if et else en temps que des redirection que je veux

            juste un détail quand je réactualise la page il reste toujour l'écho vous étes bien deconnecté es ce que tu n'a pas un moyen de le supprimé dés qu'on réactualise la page

            merci pour ton aide
            • Partager sur Facebook
            • Partager sur Twitter
              4 janvier 2010 à 12:23:56

              Re,

              Dans ce cas là, il faut changer de méthode, sauvegarder dans la session le message à afficher sur l'index.php puis effectivement rediriger le visiteur.

              Si il y a un message à afficher, on l'affiche et on détruit la variable, s'il réactualise, la variable n'existe plus, le message ne sera donc pas réaffiché.

              ++
              • Partager sur Facebook
              • Partager sur Twitter
                4 janvier 2010 à 12:54:20

                merci pour ton aide là je vais éssayé de le faire pur tout mes pages et si j'ai une érreur où un soucy pour une page je te ferais signe mais en tout cas j'ai compris le principe

                peut être pour tout les codes des rédirections je le mettrais sur une page et que je remet un includes sur la page debut

                mais en tout cas je te tiens au courrnt si j'ai un beugue où si j'ai reuissi à tout faire
                • Partager sur Facebook
                • Partager sur Twitter

                faire une redirection sur la même page

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown