Problème pour faire du passage de page

Fermé
ced18 Messages postés 386 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 14 octobre 2010 - 14 oct. 2010 à 14:09
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 14 oct. 2010 à 17:07
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



A voir également:

5 réponses

Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
14 oct. 2010 à 15:48
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
14 oct. 2010 à 15:49
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
ced18 Messages postés 386 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 14 octobre 2010 125
14 oct. 2010 à 16:25
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
14 oct. 2010 à 16:43
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
ced18 Messages postés 386 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 14 octobre 2010 125
14 oct. 2010 à 16:48
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
14 oct. 2010 à 17:07
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