Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2011, 10h24   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 54
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 54
Points : 6
Points : 6
Par défaut Redirection automatique PHP

Bonjour, j'ai écrit le script suivant qui affiche du texte dans un pdf et j'aimerais une fois la page affichée être redirigé vers ma page d'accueil automatiquement après 3 secondes.
Dans mon cas, j'ai utilisé la fonction header () mais elle n'est pas prise en compte:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
include("phpToPDF.php");
 
$pdf = new phpToPDF();
$pdf->AddPage();
$pdf->SetFont("Arial","B",15);
$pdf->Text(8,10,"Ceci est un test");
$pdf->Output();
 
//Cette ligne n'est pas prise en compte
header("Refresh: 3; URL=http://localhost/index.php" ); 
 
?>
Merci pour votre aide.
fra7878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 10h35   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

Quand tu dis qu'elle n'est pas prise en compte, il se passe quoi exactement ?

Erreur, pdf en ligne ?

Sinon dans la doc : http://www.fpdf.org/fr/doc/output.htm :

Citation:
Le nom du fichier. S'il n'est pas renseigné, le document est envoyé au navigateur (destination I) avec le nom doc.pdf.
Tu as essayé avec l'option F ou D ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 10h53   #3
Invité régulier
 
Inscription : janvier 2011
Messages : 54
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 54
Points : 6
Points : 6
Dans l'état actuel, le document est affiché mais la redirection ne fonctionne pas (pas de message d'erreur).

Que devrais-je utiliser comme paramètres dans mon cas? Remplacer le header()?

Merci pour votre aide car je suis loin d'être un expert dans ce domaine
fra7878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 12h24   #4
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Code :
1
2
3
4
$pdf->Output('nom.pdf','F');
 
//Cette ligne n'est pas prise en compte
header("Refresh: 3; URL=http://localhost/index.php" );
ça donne quoi ?
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 12h33   #5
Invité régulier
 
Inscription : janvier 2011
Messages : 54
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 54
Points : 6
Points : 6
Lorsque j'essaie cela, je suis bien redirigé après 3 secondes mais mon document pdf ne s'ouvre pas entre-temps.

Que faire pour que mon document s'ouvre et que je sois redirigé ensuite?

Encore merci pour votre aide
fra7878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 12h38   #6
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Code :
$pdf->Output('nom.pdf','D');
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 12h50   #7
Invité régulier
 
Inscription : janvier 2011
Messages : 54
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 54
Points : 6
Points : 6
Avec cela, j'obtiens un pop-up qui me propose d'ouvrir ou d'enregistrer le fichier "nom.pdf" dans une nouvelle fenêtre mais pas de redirection par la suite.
fra7878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 16h15   #8
Membre éclairé
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 303
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 303
Points : 384
Points : 384
Bonjour,

Essaye de placer ob_start(); au début du code, juste après le <?php et ob_end_flush(); à la fin.

Edit : J'ai retrouvé le post ou j'avais déjà expliqué le fonctionnement de ob : ici
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 16h46   #9
Invité régulier
 
Inscription : janvier 2011
Messages : 54
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 54
Points : 6
Points : 6
Merci pour ta réponse mais avec le code suivant j'obtiens toujours la même chose, je suis bien redirigé mais la page pdf ne s'affiche pas avant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
ob_start();
include("phpToPDF.php");
$pdf = new phpToPDF();
$pdf->AddPage();
$pdf->SetFont("Arial","B",15);
$pdf->Text(8,10,"Ceci est un test");
$pdf->Output('nom.pdf','F'); 
header("Refresh: 3; URL=http://localhost/index.php" ); 
ob_end_flush(); 
?>
Avez-vous une autre idée?
fra7878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 16h52   #10
Membre éclairé
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 303
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 303
Points : 384
Points : 384
Il faut que tu remplace $pdf->Output('nom.pdf','F'); par $pdf->Output('nom.pdf','D'); comme l'a précisé syl2095 non ?
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 17h45   #11
Invité de passage
 
Gaël CRISPYN
Inscription : août 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : Gaël CRISPYN

Informations forums :
Inscription : août 2010
Messages : 16
Points : 4
Points : 4
Le header ne doit pas être effectué en début de page ?
gawel1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 11h58   #12
Modérateur
 
Avatar de Vil'Coyote
 
Développeur Web
Inscription : février 2008
Messages : 3 311
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : février 2008
Messages : 3 311
Points : 4 506
Points : 4 506
le header en php ne peut être utiliser qu'en amont de toute action. hors là tu effectue une visu de pdf et tu essais de faire ta redirection ce qui n'est pas possible. regarde plutôt vers du javascript pour effectuer ta redirection ou revoit ton fonctionnement.
Vil'Coyote est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h09.


 
 
 
 
Partenaires

Hébergement Web