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 :

[PHP-JS] Afficher du texte avant redirection


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut [PHP-JS] Afficher du texte avant redirection
    Bonjour,

    Je souhaite faire apparaitre une phrase pendant 2 secondes avant de faire une redirection.

    J'ai essayé avec un sleep(2);
    Mais ca ne marche pas...

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "La quantité du stock pour $ref de taille $taille et de couleur $couleur a bien été diminuée de $qte.\n";
    sleep(2);
    redirection("./?cat=2&q=22&commande=$commande");
    Dans ce cas, la prase n'apparait pas...

    Je souhaite bloquer l'execution du code après l'affichage de la phrase pendant deux secondes, ..., puis que la redirection se fasse ensuite.
    Histoire que l'utilisateur ait le temps de lire la phrase avant d'etre redirigé...

    Merci de votre aide.

  2. #2
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut
    Faire un après ton echo ? ^^

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    le problème, c'est que la redirection en PHP se fait avec header(), qui ne supporte pas d'avoir du contenu d'envoyé avant lui. Ce n'est donc pas possible en PHP pur, mais rien ne t'empêche de mettre un meta refresh, ou d'utiliser le javascript...

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    comment utiliser cette fonction?

    Je met flush(2); pour 2 secondes?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    Pour ma redirection j'utilise du javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function redirection($page)
    {
     echo "<script language='Javascript'>";
     echo "parent.frames['main3'].location.href = '$page';";
     echo "</script>";
    }

  6. #6
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut
    Non, tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo "La quantité du stock pour $ref de taille $taille et de couleur $couleur a bien été diminuée de $qte.\n";
    flush();
    sleep(2);
    redirection("./?cat=2&q=22&commande=$commande");

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    ca me fait le meme probleme que sans le flush...
    L'affichage reste ur la page precedente pendant le sleep, puis tout s'execute d'un coup, ce qui fait que je n'ai pas le temps de lire la phrase...

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    ça devrait marcher j'utilise ça sur une de mes pages

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo "La quantité du stock pour $ref de taille $taille et de couleur $couleur a bien été diminuée de $qte.\n";
    echo '<meta http-equiv="refresh" content="2" url="./?cat=2&q=22&commande='.$commande.'" />';

  9. #9
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Je pense qu'il faut faire comme a dit RideKick.
    J'ai toute une application d'affichage dynamique de société qui tourne sur ce principe (et oui, on fait avec les moyens du bord...)

    J'ajoute simplement une correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<meta http-equiv="refresh" content="2";url="./?cat=2&q=22&commande='.$commande.'" />';
    C'est la méthode la plus simple et efficace.

  10. #10
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 467
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 467
    Points : 4 658
    Points
    4 658
    Par défaut
    salut,
    je sais pas si ca a résolu ton pb...
    j'ai trouvé ca sur un site ya logtemps... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
       <SCRIPT LANGUAGE="JavaScript">
        window.setTimeout("document.form.time.value='2'",1000)
        window.setTimeout("document.form.time.value='1'",2000)
        window.setTimeout("document.form.time.value='0';location=('ta_page.html');",2000)
       </script>
       <center>
        <FORM METHOD=POST name="form">
         &nbsp;<INPUT TYPE="text" NAME="time" size="1" style="border: 0; background-color: #FFFFFF; font-size: 0pt; background-repeat: repeat; background-attachment: scroll; background-position: 0% 50%">Login en cours...
        </FORM>
       </center>
    voila..ca marche très bien avec moi

Discussions similaires

  1. Afficher msg avant redirection
    Par Général03 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/05/2009, 21h36
  2. Afficher un texte formaté avec echo en php
    Par gudyryps dans le forum Langage
    Réponses: 8
    Dernier message: 21/01/2009, 23h23
  3. [MySQL] Page PHP affichant un texte aléatoire
    Par CrackMe dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 29/09/2008, 21h50
  4. Afficher le texte avant les images et les pubs
    Par topolino dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/04/2006, 08h33

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