Précédent   Forum des professionnels en informatique > PHP > Outils > EasyPHP
EasyPHP Forum d'entraide sur EasyPHP : installation, utilisation, etc. Avant de poster -> Cours EasyPHP
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/02/2006, 13h50   #1
Invité de passage
 
Inscription : janvier 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 3
Points : 2
Points : 2
Par défaut configuration easyphp

Bonjour, je debute en php et j'ai rencontre un petit probleme avec la focntion header(location...). J'obtiens le message d'erreur lorsque je teste le code avec easyphp 1.8 :
Code :
Warning:  Cannot modify header information - headers already sent by (output started at c:/...
voila le code en question :
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
<?php session_start();
?>
<html><body><pre>/* une partie du probleme */
<?php
print "Repondre aux questions et se faire embaucher par les ragondins\n";
print "Question n°1 :\n";
print "Quel est ton sexe ?";
?>
<form action="./casting.php" method="post">
<select name="choix">
<option>Homme</option>
<option>Femme</option>
</select>
<input type="submit" name="valid" value="rien">
</form>
<?php
if($_POST["valid"])
{
 $reponse=$_POST["choix"];
 if($reponse=="Homme")
 {
  $numQ=1;
  header("location:Toumou.php");
 }
Apres quelques recherches, je me suis apercu que le fait de mettre du html avant la redirection posait probleme mais je n'ai pas bien compris pourquoi, si quelqu'un peut me l'expliquer.
Ensuite, j'ai teste en ligne et la a ma grande surprise tout se passe tres bien. Est il possible de configurer Easyphp pour que ca fonctionne et si on peut m'expliquer d'ou vient le probleme, j'en serais heureux
Merci
ragondin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 13h56   #2
Membre Expert
 
Avatar de David Guillot
 
Homme David Guillot
Chef de projet en SSII
Inscription : mars 2004
Messages : 879
Détails du profil
Informations personnelles :
Nom : Homme David Guillot
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 879
Points : 1 149
Points : 1 149


http://php.developpez.com/faq/?page=correction_erreurs#erreur_headers_already_sent


de chercher un peu avant de poster
__________________
Avant de poser une question ici :

Après résolution de votre question : un clic sur , un et un vote pour les personnes qui vous ont aidé
David Guillot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 13h56   #3
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
en fait sur tou les systeme c'est comm ça. pour envoyer un entete au navigateur il faut pas qu'il y'ai déja un flux envoyé eu préalable. autrement il ne faut aucune instruction d'affichage a l'ecran avant header(location...).
c'est donc pas une histoire de config de Easy 8)
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 14h01   #4
Membre éclairé
 
Avatar de XtofRoland
 
Inscription : août 2005
Messages : 361
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 361
Points : 340
Points : 340
je ne sais pas pk ca fct en ligne, mais le header c'est soit ce qu'il y a entre tes balises <head></head>
soit si tu te renseigne du coté des RFC le protocole http envoie sur le reseau des truc de ce genre:
http version 1.0 GET ....
(c'est pareil pour tout les protocole du reseau.)
la redirection ph fait sans doute partie du protocole http... tu ne peux donc pas le mettre au milieu d'un script.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php session_start(); 
if($_POST["valid"]) 
{ 
 $reponse=$_POST["choix"]; 
 if($reponse=="Homme") 
 { 
  $numQ=1; 
  header("location:Toumou.php"); 
 }
?> 
<html><body><pre>/* une partie du probleme */ 
<?php 
print "Repondre aux questions et se faire embaucher par les ragondins\n"; 
print "Question n°1 :\n"; 
print "Quel est ton sexe ?"; 
?> 
<form action="./casting.php" method="post"> 
<select name="choix"> 
<option>Homme</option> 
<option>Femme</option> 
</select> 
<input type="submit" name="valid" value="rien"> 
</form>
essaye qqc comme ceci, ca a des chances de fonctionner.
(envoyer le header avant le html.
XtofRoland est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 14h09   #5
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
ou peut-etre, si t'es vraiment obligé de mettre ton header au milieu, quelque chose avec les fonctions ob_start() et ob_end_flush();
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 14h14   #6
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
@XtofRoland
Citation:
je ne sais pas pk ca fct en ligne, mais le header c'est soit ce qu'il y a entre tes balises <head></head>
soit si tu te renseigne du coté des RFC le protocole http envoie sur le reseau des truc de ce genre:
http version 1.0 GET ....
(c'est pareil pour tout les protocole du reseau.)
la redirection ph fait sans doute partie du protocole http... tu ne peux donc pas le mettre au milieu d'un script.

Code:
<?php session_start();
if($_POST["valid"])
{
$reponse=$_POST["choix"];
if($reponse=="Homme")
{
$numQ=1;
header("location:Toumou.php");
}
?>
<html><body><pre>/* une partie du probleme */
<?php
print "Repondre aux questions et se faire embaucher par les ragondins\n";
print "Question n°1 :\n";
print "Quel est ton sexe ?";
?>
<form action="./casting.php" method="post">
<select name="choix">
<option>Homme</option>
<option>Femme</option>
</select>
<input type="submit" name="valid" value="rien">
</form>

essaye qqc comme ceci, ca a des chances de fonctionner.
(envoyer le header avant le html.
seulement avec ça la page sera redirigé et le reste du code ne sera pas executé
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2006, 15h38   #7
Invité de passage
 
Inscription : janvier 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 3
Points : 2
Points : 2
Merci de toutes ces reponses je testerais tout ca ce soir et vous tiendrais au courant
ragondin 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 01h12.


 
 
 
 
Partenaires

Hébergement Web