IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Redirection avec attente


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Par défaut Redirection avec attente
    Bonjour,

    Comment faire une redirection (avec Header) et attendre la fin de l'exécution du script appelé avant de continuer (un peu comme avec ajax) ?

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    je n'ai pas compris. tu parles de quel script et tu veux continuer quoi ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Par défaut
    C'est peut-être plus simple à expliquer avec un exemple ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php  //script1.php
    ...
    header("Location:script2.php");
    ...                                              <<<< exécution quand script2.php est fini
    ?>
     
    <?php  //script2.php
    ...
    ?>

  4. #4
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Par défaut
    La fonction register_shutdown_function permet de faire ce que tu souhaites:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    register_shutdown_function('doRedirect');
    function doRedirect() {
        header('ocation: url');
        exit;
    }
    // le code va s'exécuter, la fonction doRedirect sera appelé à la fin du script

  5. #5
    Membre éclairé Avatar de Jihnn
    Inscrit en
    Décembre 2005
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 330
    Par défaut
    À ce que je sache, header() n'arrête pas le script en cours et exécute ce qu'il y a après cette fonction...

    Je viens de tester une page qui insère quelque chose dans la BDD après l'appel de la fonction header(), et ça fonctionne très bien.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 163
    Par défaut
    C'est bien ce que je veux éviter !
    L'idée est de faire l'appel dans une boucle ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php  //script1.php
    ...
    while (condition) {
    header("Location:script2.php");
    ...    <<<< exécution quand script2.php est fini
    }
    ...                                          
    ?>
     
    <?php  //script2.php
    ...
    ?>
    Je n'ai pas essayé mais est-ce la solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php  //script1.php
     
    register_shutdown_function('doRedirect');
    function doRedirect() {
        header('Location:script2.php');
        exit;
    }
     
    ...
    while (condition) {
    doRedirect();
    ...    <<<< exécution quand script2.php est fini
    }
    ...                                          
    ?>
     
    <?php  //script2.php
    ...
    ?>

Discussions similaires

  1. Redirection avec des paramètres en POST
    Par Kosti dans le forum Langage
    Réponses: 8
    Dernier message: 16/02/2006, 17h09
  2. Réponses: 16
    Dernier message: 01/02/2006, 20h09
  3. [Struts]Redirection avec paramètre
    Par klereth dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/06/2005, 11h56
  4. Problème de redirection avec window.location
    Par Kosti dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2004, 19h31
  5. Response.redirect() avec ancre nomée
    Par roots_man dans le forum ASP
    Réponses: 4
    Dernier message: 23/11/2004, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo