Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 13/09/2011, 17h43   #1
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
Par défaut la fonction header ne marche pas

Bonjour, je recupere des donnees avec un formulaire puis je traite les données avec le fichier traitement.php donc voici le code ci dessous.
Je n'arrive pas à faire marcher le header à la fin du code (j'aimerais que lorsque le traitement est fait il affiche la page indiquer. Dans mon cas il affiche une page blanche.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement 
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','accueil@ressources-territoires.com'); // remplacer par votre email
define('MAIL_SUJET','Bulletin Inscription pour la formation');
 
// vérification des champs
if (empty($_POST['civilite'])) 
$message .= "Votre civilité<br/>";
if (empty($_POST['situation']))
$message .= "Votre situation<br/>";
if (empty($_POST['nom'])) 
$message .= "Votre nom<br/>";
if (empty($_POST['prenom']))
$message .= "Votre prenom<br/>";
if (empty($_POST['fonction']))
$message .= "Votre fonction<br/>";
if (empty($_POST['adresse'])) 
$message .= "Votre adresse<br/>";
if (empty($_POST['code_post']))
$message .= "Votre code postal<br/>";
if (empty($_POST['ville']))
$message .= "Votre ville<br/>";
if (empty($_POST['email']))
$message .= "Votre email<br/>";
if (empty($_POST['tel_pro']))
$message .= "Votre numero de telephone professionnel<br/>";
if (empty($_POST['tel_perso']))
$message .= "Votre numero de telephone personnel<br/>";
if (empty($_POST['organisme']))
$message .= "Votre organisme<br/>";
if (empty($_POST['email_orga']))
$message .= "Email de l'organisme<br/>";
if (empty($_POST['nom_responsable']))
$message .= "Le nom du responsable<br/>";
if (empty($_POST['opca']))
$message .= "Opca<br/>";
if (empty($_POST['remboursement']))
$message .= "Demande de remboursement<br/>";
 
if (empty($_POST['comments'])) 
$message .= "Votre message<br/>";
 
if (empty($_POST['dejeuner']))
$message .= "Vous dejeuner<br/>";
 
if (empty($_POST['recevoir']))
$message .= "Vous dejeuner<br/>";
 
 
// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message; die();
}
 
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}
 
 
//Préparation de l'entête du mail:
$mail_entete  = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
 
// préparation du corps du mail
 
 
$mail_corps  = "Message de : $civilite $nom $prenom\n";
$mail_corps .= "Situation : $situation\n";
$mail_corps .= "Fonction : $fonction\n";
$mail_corps .= "Adresse : $adresse,$code_post $ville\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Telephone professionnel : $tel_pro\n";
$mail_corps .= "Telephone personnel : $tel_perso\n";
$mail_corps .= "Organisme : $organisme\n";
$mail_corps .= "Organisme : $email_orga\n";
$mail_corps .= "Nom du responsable : $nom_responsable\n";
$mail_corps .= "Dejeuner au self du CNFPT : $dejeuner\n";
$mail_corps .= "Recevoir les actualites du programme : $recevoir\n";
$mail_corps .= "Type de formation: $comments\n";
 
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
  //Le mail est bien expédié
  echo $msg_ok;
} else {
  //Le mail n'a pas été expédié
  echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
 
 
header('Location: http://www.ressources-territoires.com/bulletin-inscription.php');
 
?>
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 20h11   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonjour,

la gestion des erreurs est elle activée ?
__________________
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 13/09/2011, 21h03   #3
Membre confirmé
 
Homme Dominique
Première S
Inscription : juillet 2010
Messages : 252
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 15
Localisation : France

Informations professionnelles :
Activité : Première S

Informations forums :
Inscription : juillet 2010
Messages : 252
Points : 228
Points : 228
on ne t'as jamais dit qu'il ne fallait rien écrire avant un header ?
pour la page blanche, vérifie la gestion des erreurs comme l'a dit syl 2095, mais regarde aussi dans le code source de la page html. quelquefois, ça ne s'affiche pas bien en fonction du code html qui est autour ...

Sinon, il faut savoir qu'il ne faut jamais mettre, ni un session_start, ni un header après un code html.

si l'on veux, on peu utiliser les fonctions de temporisation (voir les fonctions ob_start(à, ob_flush(), ob_clear() etc.), mais c'est un remède bancal ...

a+
Dominique49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 23h45   #4
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
Oui la gestion des erreurs est activée enfin je crois!
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/09/2011, 23h50   #5
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
mais c'est un remède bancal
Pourquoi bancal ? Moi, je trouve ça très pratique...
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/09/2011, 01h01   #6
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Bonjour,
J'ignores si ce php est complet, ou pire s'il est include.
Mais de toute façon, tu vois sur ce que tu nous montres,
Code :
1
2
3
4
5
6
7
8
9
10
 
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
  //Le mail est bien expédié
  echo $msg_ok;
} else {
  //Le mail n'a pas été expédié
  echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
 
header('Location: http://www.ressources-territoires.com/bulletin-inscription.php');
Avant ton header tu envoie un texte au visiteur, donc du html,
donc un header, et tu ne peux donc plus en envoyer un autre !
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 08h12   #7
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
Avant ton header tu envoie un texte au visiteur, donc du html,
donc un header, et tu ne peux donc plus en envoyer un autre !
Exact Christèle/Mauriser (démasquée ! (tu as changé de pseudo, mais pas d'avatar)), d'où l'intérêt de la bufférisation de la sortie (que je n'ai découverte qu'il y a quelques mois), sauf si c'est effectivement bancal.
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 08h57   #8
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
merci pour les réponses mais c'est quoi la bufferisation de la sortie??
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 09h08   #9
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Citation:
Envoyé par peter11 Voir le message
merci pour les réponses mais c'est quoi la bufferisation de la sortie??
Justement pour avoir accés au header il suffit dans ta page php
de bloquer automatiquement tout echo vers la page html, puis le libérer lorsque tout est pret.
Code :
1
2
3
4
5
6
7
 
ob_start ();
for ($i = 0; $i < 5000; $i++)
    echo str_repeat ("blablabla bla bla", (rand() % 4) + 1)."<br>\n";
 
//=============puis on libére
ob_end_flush ();
Mais tu comprends que c'est rarement valable du reste si tu regardes ton php
tu envoies un message a l'écran puis appelles une autre page donc personne ne poura lire ce message
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 09h14   #10
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
Ceci je dois le mettre dans mon fichier traitement à la fin? et si on vois pas mon message autant que je l'enleve, non?
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 09h42   #11
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Citation:
Envoyé par peter11 Voir le message
Ceci je dois le mettre dans mon fichier traitement à la fin? et si on vois pas mon message autant que je l'enleve, non?
Va lires sur "php.net" bufferisation
http://php.net/manual/fr/ref.outcontrol.php

Pour le reste OUI je retirerais tes deux "echo" inutils !
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 09h49   #12
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Christèle a raison, mais petite idée (aucune idée si ça marcherait) : pour effectuer la redirection, tu le fais dans un fichier php séparé et dans ton code, là où tu souhaites faire la redirection, tu mets une iframe.
__________________
Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 14/09/2011, 10h08   #13
Membre chevronné
 
Avatar de christele_r
 
Femme Christele
Inscription : novembre 2009
Messages : 661
Détails du profil
Informations personnelles :
Nom : Femme Christele
Âge : 39
Localisation : France

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2009
Messages : 661
Points : 690
Points : 690
Je te déconseilles tout "bidouillage" surtout les iframes
un trou a failles de sécuritées !
christele_r est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/09/2011, 10h08   #14
Membre confirmé
 
Homme Dominique
Première S
Inscription : juillet 2010
Messages : 252
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 15
Localisation : France

Informations professionnelles :
Activité : Première S

Informations forums :
Inscription : juillet 2010
Messages : 252
Points : 228
Points : 228
Citation:
Envoyé par laurentSc Voir le message
Pourquoi bancal ? Moi, je trouve ça très pratique...
Moi aussi je trouve cela très pratique, et je l'utilise encore d'ailleurs
Mais a ce qu'il paraît, ce n'est pas le top niveau performances ...
Ce n'est pas moi qui le dit, "on" me l'a dit. selon cette personne, ce n'est pas trop grave si on code en procédural (= pas en POO). (et cette personne étant un fan de la POO, le codage en procédural pour lui c'est une horreur )

en bref, ce n'est pas très académique, mais après, on fait ce qu'on veux ... pour ma part, le principal c'est que ça marche bien et que ce soit pratique, donc j’utilise encore (beaucoup) ces fonctions.

J'ai dit "bancal" parce que ce n'est en fait qu'un dépannage, et qu'il vaut mieux faire tout de suite bien ... mais quand on a pas envie de tout refaire, la bufferisation de sortie est très (très) pratique

amicalement.
Dominique49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 10h16   #15
Membre confirmé
 
Homme Dominique
Première S
Inscription : juillet 2010
Messages : 252
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 15
Localisation : France

Informations professionnelles :
Activité : Première S

Informations forums :
Inscription : juillet 2010
Messages : 252
Points : 228
Points : 228
pour ceux que ça intéresserai, voilà un petit code que j'inclus à la fin de chaque page :

Code :
1
2
3
4
5
6
7
8
9
10
11
if(isset($redirect)){
ob_clean();
header('Location: '.$redirect);
}elseif(isset($redirect_refresh)){
$tmp=ob_get_contents();
ob_clean();
header('Refresh: 4;URL='.$redirect_refresh);
echo $tmp;
}else{
// rien du tout ...
}
quand je veux faire une redirection dans le code, je fais :

$redirect = 'http://redirection';

pour une redirection de type refresh (après un certain temps :

$redirect_refresh = 'http://redirection';

voilà, tout simplement.
et le code présenté plus haut vérifie si la variable $redirect ou $redirect_refresh existe, et il utilise la bufferisation de sortie pour faire le reste ... ça vous permettra de savoir comment utiliser ces fonctions (pour ceux qui ne savent pas).

a+
Dominique49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 12h13   #16
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
encore merci pour les réponses mais si je rentre ce code aprés le mien vous pensez que ça peut marcher?

Code :
1
2
3
4
5
6
7
8
9
10
11
if(isset($redirect)){
ob_clean();
header('Location: '.$redirect);
}elseif(isset($redirect_refresh)){
$tmp=ob_get_contents();
ob_clean();
header('Refresh: 4;URL='.$redirect_refresh);
echo $tmp;
}else{
// rien du tout ...
}
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 12h33   #17
Membre confirmé
 
Homme Dominique
Première S
Inscription : juillet 2010
Messages : 252
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 15
Localisation : France

Informations professionnelles :
Activité : Première S

Informations forums :
Inscription : juillet 2010
Messages : 252
Points : 228
Points : 228
absolument, pour cela, je te conseille :

- créer un fichier fin.php qui contiendra ce code. (+ d'autre code si tu veux).
- mettre : include_once('fin.php'); à la fin de chaque page suceptibe de contenir une redirection.

- quand tu veux faire une redirection, tu écrit :
$redirect = 'url redirection';

- quand tu veux faire une redirection de type refresh, tu écrit :
$redirect_refresh = 'url redirection'; et la redirection se fera après 4 secondes d'affichage (tu peux modifier ce paramètre dans le code que je t'ai donné )

Par contre, ne pas utiliser pour un autre usage les nom de variable $redirect et $redirect_refresh ! ben oui, sinon mon code pensera que c'est une redirection qui a été demandée

voilà, bonne continuation.
Dominique49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 12h46   #18
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
Je suis desolé j'arrive pas à le faire marcher.Quand je rentre les données dans le formulaire et que je valide j'ai une page blanche avec le message votre demande a bien été ...

Voici mon code traitement3.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement 
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','mathieu.x@laposte.net'); // remplacer par votre email
define('MAIL_SUJET','Bulletin Inscription pour la formation');
 
// vérification des champs
if (empty($_POST['civilite'])) 
$message .= "Votre civilité<br/>";
if (empty($_POST['nom'])) 
$message .= "Votre nom<br/>";
if (empty($_POST['prenom']))
$message .= "Votre prenom<br/>";
if (empty($_POST['fonction']))
$message .= "Votre fonction<br/>";
if (empty($_POST['organisme']))
$message .= "Votre organisme<br/>";
if (empty($_POST['nom_responsable']))
$message .= "Le nom du responsable<br/>";
if (empty($_POST['adresse'])) 
$message .= "Votre adresse<br/>";
if (empty($_POST['ville']))
$message .= "Votre ville<br/>";
if (empty($_POST['email']))
$message .= "Votre email<br/>";
if (empty($_POST['tel_pro']))
$message .= "Votre numero de telephone professionnel<br/>";
if (empty($_POST['tel_perso']))
$message .= "Votre numero de telephone personnel<br/>";
if (empty($_POST['opca']))
$message .= "Opca<br/>";
if (empty($_POST['remboursement']))
$message .= "Demande de remboursement<br/>";
 
if (empty($_POST['comments'])) 
$message .= "Votre message<br/>";
 
if (empty($_POST['dejeuner']))
$message .= "Vous dejeuner<br/>";
 
if (empty($_POST['recevoir']))
$message .= "Vous dejeuner<br/>";
 
 
// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
   echo $message; die();
}
 
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
  $$index = stripslashes(trim($valeur));
}
 
 
//Préparation de l'entête du mail:
$mail_entete  = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
 
// préparation du corps du mail
 
 
$mail_corps  = "Message de : $civilite $nom $prenom\n";
$mail_corps .= "Fonction : $fonction\n";
$mail_corps .= "Organisme : $organisme\n";
$mail_corps .= "Nom du responsable : $nom_responsable\n";
$mail_corps .= "Adresse : $adresse, $ville\n";
$mail_corps .= "Email : $email\n";
$mail_corps .= "Telephone professionnel : $tel_pro\n";
$mail_corps .= "Telephone personnel : $tel_perso\n";
$mail_corps .= "Dejeuner au self du CNFPT : $dejeuner\n";
$mail_corps .= "Recevoir les actualites du programme : $recevoir\n";
$mail_corps .= $comments;
 
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
  //Le mail est bien expédié
   echo $msg_ok;
} else {
  //Le mail n'a pas été expédié
  echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
 
include_once('fin3.php');
 
 
?>
Voici le code de fin3.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
if(isset($redirect)){
ob_clean();
header('Location:http://www.ressources-territoires.com/bulletin-inscription.php '.$redirect);
}elseif(isset($redirect_refresh)){
$tmp=ob_get_contents();
ob_clean();
header('Refresh: 4;URL=http://www.ressources-territoires.com/bulletin-inscription.php'.$redirect_refresh);
echo $tmp;
}else{
// rien du tout ...
}
 
?>
merci
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 14h02   #19
Nouveau Membre du Club
 
Inscription : juin 2008
Messages : 33
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 33
Points : 28
Points : 28
Bonjour,

Comme il t'a été dit plus haut, tu ne peux pas envoyer de texte à l'écran et faire une redirection via header par la suite. C'est comme ca c'est le protocole http qui est fait comme ca. C'est un header par page.

Là tu fais ton "echo $msg_ok;" qui envoie du texte sur la sortie.
Apparemment tu as surment oublié ob_start(); en début de page pour commencer a capturer le texte qui s'affiche normalement à l'écran.
Ensuite, ob_clean() purge le texte capturé (bref ca ne sert a rien, il l'efface) si tu veux l'afficher mieux vaut utiliser ob_flush(); qui va afficher le texte capturé à l'ecran, mais là encore ca ne sert a rien car tu fais une redirection après ...

Je n'sais pas quelles sont tes contraintes mais apparemment le script est executé pour être affiché sur un navigateur, pourquoi est ce que tu n'utilises pas le javascript pour faire ta redirection ??
tMSun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 14h06   #20
Invité de passage
 
Homme
Inscription : août 2010
Messages : 128
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : août 2010
Messages : 128
Points : 1
Points : 1
Je n'utilise pas le javascript parce que je ne le connaîs pas tres bien par contre je suis preneur de code si quelqu'un connaît la redirection en javascript!
Marc31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h25.


 
 
 
 
Partenaires

Hébergement Web