Problème pour faire du passage de page

ced18 Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   -  
Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

En fait, mon problème est que je voudrais faire en sortre que :
1) Sur une page d'index j'ai un lien vers une page export_csv.php qui génère un fichier csv à partir d'une base de données. (sa c'est fait)

2) de cette page je voudrais revenir automatiquement sur la page d'index

c'est entre ces 2 étapes que sa bloque

3) une fois sur la page d'index je voudrais avoir un message qui indique que l'exportation
c'est bien effectuée ou non.

mon problème dans tout sa c'est de trouver le moyen d'afficher le message si on a cliquer sur le lien de base.
J'ai essayé avec les header mais j'ai un message d'erreur.
ensuite j'ai essayé en javascript pour récupérer le basename du fichier précédent mais ca ne fonctionne pas non plus

merci pour votre aide

5 réponses

  1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    dans tes 2 pages tu démarres les sessions
    on va utiliser la variable $_SESSION['tartiflette'];

    dans ton idex, tu fais
    if ( isset($_SESSION['tartiflette']) )
    {
    echo $_SESSION['tartiflette'];
    unset $_SESSION['tartiflette'];
    }

    dans ton csv.php

    tu fais
    <?php
    session_start();
    ta_fonction_d'export ou ton code
    $_SESSION['tartiflette']= "imotep, ca c'est bien passé";
    header("Location: http://tonsiteweb");
    ?>

    si ca passe pas avec la session, tu pourras toujours, dans la redirection passer un petit header("Location: http://tonsiteweb/index.php?tartiflette=yes"); et tester la valeur de $_GET['tartiflette'] ....

    ps: le fait que j'ai mangé de la tartiflette a midi n'a rien a voir avec le fait que tout mes exemples soient basés sur la tartiflette....
    In tartiflette we trust
    0
    1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
       
      ha oui, et pareil que dans ton autre POST..... avant de faire la redirection: INTERDICTION ABSOLUE D'ENVOYER DU CONTENU (tu connais le message d'erreur généré)
      0
  2. ced18 Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   125
     
    donc en fait je ne peux pas faire

    <?php
    session_start();

    export dans un fichier txt du contenu d'une BDD

    header(location: index.php);

    ??
    si je peux le faire alors ou je peut me tromper ?
    si non comment faire ?
    0
  3. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    tu peux faire tout le code que tu veux, tant qu'il n'y a pas d'affichage à l'écran.
    si tu veux faire un affichage à l'écran, il faudra faire une redirection en javascript (tu sais, le message "vous allez être redirigé dans x secondes"
    0
  4. ced18 Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   125
     
    Merci

    Mais en fait je ne pensais que l'on pouvait mettre le header avant le traitement. j'ai quand même essayer puisque tu me disait qu'il ne fait rien mettre avant pour que sa fontionne.
    Maintenant quasi tout fonctionne comme prévu. il me reste plus qu'a trouvé un moyen sur ma page d'index d'afficher le bon message car il y a une exportation en txt et une autre en csv.

    a la base j'ai sa mais si les 2 fichiers sont créé sa m'affiche toujours
    exportation au format txt effectuée

    code :

    if((basename($_SERVER['HTTP_REFERER'])) == "index3.php")
    {
    if(file_exists("cimetiere.txt"))
    {
    $exptxt = "<div id='info'>Exportation au format txt effectuée avec succés</div>";
    }
    else
    {
    $exptxt = "<div id='info'>Erreur d'exportation</div>";
    }

    if(file_exists("cimetiere.csv"))
    {
    $expcsv = "<div id='info'>Exportation au format csv effectuée avec succés</div>";
    }
    else
    {
    $expcsv = "<div id='info'>Erreur d'exportation</div>";
    }
    }
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    dans le code que je t'ai donné, la variable $_SESSION['tartiflette'] contient tout ce qu'il faut....

    si elle existe: on viens d'arriver de la page d'exportation.
    Le contenu de la variable sera otn message d'erreur ou de validation. A toi de jouer avec le contenu. Une fois traité, la variable est détruite (si on recharge pa page, il n'y aura plus de message)

    si elle n'existe pas: on ne vient pas directement de la page.

    a mon avis, tout est dans mon premier message ....
    0