Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1623 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Header(location: .....) dsl toujours pas compris

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Header(location: .....) dsl toujours pas compris

n°260105
Profil sup​primé
Posté le 03-12-2002 à 19:27:15  answer
 

j'ai bien utiliser la recherhce mais je ne comprend toujours pas le probleme (ca parle d'espace... alors que je n'en ai pas apres le <? )
 
bref voici mon code :
 

<body bgcolor="#E8E8E8"><?php
 
require ("connect.php" );
 $connect=mysql_connect(SERVEUR, NOM, PASSE);
 mysql_select_db(BASE, $connect);
 $obj="SELECT nom FROM User WHERE nom='$nom'";
 $req=mysql_query($obj);
 $row=mysql_numrows($req);
if ($row!=0)
 {
  echo "ce pseudo est deja pris";
 }
if (empty($nom) OR empty($password) OR empty($email))
 {
  echo "les champs <br>NOM, PASSWORD et EMAIL</br> ne doivent pas etre vides";
 }
else
 {
  $obj="INSERT INTO User VALUES ('$email', '$nom', '$prenom', '$password', '$AnneeNaiss', '$pays')";
  $req=mysql_query($obj) or die ('error sql'.sql.'<br>'.mysql_error());
  header("Location:formulaire%20inscription.html" );
 }
 
 
mysql_close($connect);
 
?></body>


 
et l'erreur
 

Warning: Cannot add header information - headers already sent by (output started at /var/www/free.fr/13/f/a/w/t/fawteam/php test/add.php:10) in add.php on line 11


 
c'est grave doc? :(

mood
Publicité
Posté le 03-12-2002 à 19:27:15  profilanswer
 

n°260107
omega2
Posté le 03-12-2002 à 19:31:23  profilanswer
 

On ne peut pas faire de header si du texte a déjà été envoyé au navigateur.
Ca veut dire rien avant le premier "<?" du fichier principal, rien entre les ">?" et le "<?" suivant quand ils sont situer avant le header rien avant le premier "<?" de chaque fichier inclus, rien après le dernier "?>" des fichiers inclus, rien entre les ">?" et le "<?" suivant dans les fichiers inclus et aucun echo, print et autres instructions envoyant du texte au navigateur d'exécuté avant ton header.
 
Relis ton code et dis moi ce que tu lis au début.
 
EDIT : Rajout des conditions manquantes.


Message édité par omega2 le 03-12-2002 à 19:36:37
n°260112
Profil sup​primé
Posté le 03-12-2002 à 19:35:53  answer
 

ben body :/
 
ca veut dire que je doit le foutre apres le </body> :??:
 
genre a la fin je rajoute <? header("....." )?>
 
?

n°260114
Profil sup​primé
Posté le 03-12-2002 à 19:36:12  answer
 

enfin mem apres le </html>

n°260117
Oreste
Posté le 03-12-2002 à 19:37:01  profilanswer
 

C est pour envoyer une entete HTTP tu ne doit envoyer rien comme code html avant (pas de body, head, meta, que dal)...

n°260125
omega2
Posté le 03-12-2002 à 19:40:14  profilanswer
 

chacal_one333 a écrit a écrit :

ben body :/
 
ca veut dire que je doit le foutre apres le </body> :??:
 
genre a la fin je rajoute <? header("....." )?>
 
?



Bon, on réexplique calmement :
tout ce qui précède le premier "<?" est envoyé de suite au navigateur donc là, t'as du texte qu'est envoyé au navigateur. Ensuite tu essayes de faire un header. Comment veux tu que camarche alors qu'il faut qu'il n'y ai rien d'envoyer au navigateur avant de faire le header?
Là, il faut juste que tu remplaces  
<body bgcolor="#E8E8E8"><?php
par les lignes
<?php
echo "<body bgcolor=\"#E8E8E8\">";


Message édité par omega2 le 03-12-2002 à 19:41:17
n°260132
Profil sup​primé
Posté le 03-12-2002 à 19:44:38  answer
 

si j'ai bien compris ( :( )
 

<?php
echo "<body bgcolor=\"#E8E8E8\">";
 
require ("connect.php" );
 $connect=mysql_connect(SERVEUR, NOM, PASSE);
 mysql_select_db(BASE, $connect);
 $obj="SELECT nom FROM User WHERE nom='$nom'";
 $req=mysql_query($obj);
 $row=mysql_numrows($req);
if ($row!=0)
 {
  echo "ce pseudo est deja pris";
 }
if (empty($nom) OR empty($password) OR empty($email))
 {
  echo "les champs <br>NOM, PASSWORD et EMAIL</br> ne doivent pas etre vides";
 }
else
 {
  $obj="INSERT INTO User VALUES ('$email', '$nom', '$prenom', '$password', '$AnneeNaiss', '$pays')";
  $req=mysql_query($obj) or die ('error sql'.sql.'<br>'.mysql_error());
  header("Location:formulaire%20inscription.html" );
 }
 
 
mysql_close($connect);
echo "</body>";
?>


 
right or wrong?

n°260144
Profil sup​primé
Posté le 03-12-2002 à 19:53:28  answer
 

j'ai relu et donc [quote]pas de echo ou print avant
 
donc logiquement ( ma logique [:thesphinx] )
 
 

<?php
header("Location:formulaire%20inscription.html" );
echo "<body bgcolor=\"#E8E8E8\">";
 
require ("connect.php" );
 $connect=mysql_connect(SERVEUR, NOM, PASSE);
 mysql_select_db(BASE, $connect);
 $obj="SELECT nom FROM User WHERE nom='$nom'";
 $req=mysql_query($obj);
 $row=mysql_numrows($req);
if ($row!=0)
 {
  echo "ce pseudo est deja pris";
 }
if (empty($nom) OR empty($password) OR empty($email))
 {
  echo "les champs <br>NOM, PASSWORD et EMAIL</br> ne doivent pas etre vides";
 }
else
 {
  $obj="INSERT INTO User VALUES ('$email', '$nom', '$prenom', '$password', '$AnneeNaiss', '$pays')";
  $req=mysql_query($obj) or die ('error sql'.sql.'<br>'.mysql_error());
   
 }
 
 
mysql_close($connect);
echo "</body>";
?>

n°260151
coockie_jr
All hail the Hypnotoad !
Posté le 03-12-2002 à 20:01:03  profilanswer
 

chacal_one333 a écrit a écrit :

j'ai relu et donc [quote]pas de echo ou print avant
 
donc logiquement ( ma logique [:thesphinx] )
 
 

<?php
header("Location:formulaire%20inscription.html" );
echo "<body bgcolor=\"#E8E8E8\">";
 
require ("connect.php" );
 $connect=mysql_connect(SERVEUR, NOM, PASSE);
 mysql_select_db(BASE, $connect);
 $obj="SELECT nom FROM User WHERE nom='$nom'";
 $req=mysql_query($obj);
 $row=mysql_numrows($req);
if ($row!=0)
 {
  echo "ce pseudo est deja pris";
 }
if (empty($nom) OR empty($password) OR empty($email))
 {
  echo "les champs <br>NOM, PASSWORD et EMAIL</br> ne doivent pas etre vides";
 }
else
 {
  $obj="INSERT INTO User VALUES ('$email', '$nom', '$prenom', '$password', '$AnneeNaiss', '$pays')";
  $req=mysql_query($obj) or die ('error sql'.sql.'<br>'.mysql_error());
   
 }
 
 
mysql_close($connect);
echo "</body>";
?>






 
et ca marche???  
 
 
 :hello:


---------------
** STRAVA || Photos flick r || Pooky's world trip **
n°260153
Profil sup​primé
Posté le 03-12-2002 à 20:02:39  answer
 

nan [:dawa]

mood
Publicité
Posté le 03-12-2002 à 20:02:39  profilanswer
 

n°260182
Profil sup​primé
Posté le 03-12-2002 à 20:29:22  answer
 

:bounce: svp jvoudrait bien apprendre ca ca me parait important

n°260187
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 03-12-2002 à 20:38:49  profilanswer
 

Bin déjà, ça c'est bien TOUT le code de ta page ? J'veux dire, y a pas de <html> ou <head> avant ? Passke ton code PHP avec le header() DOIT être écrit avant tout ça.
Sinon, c'est quoi le message d'erreur maintenant ? Si c'est toujours le même, c'est que tu fais des print ou des echo avant de faire ton header().

n°260191
Profil sup​primé
Posté le 03-12-2002 à 20:40:11  answer
 

vala tout el fichier
 

<?php
 
require ("connect.php" );
 $connect=mysql_connect(SERVEUR, NOM, PASSE);
 mysql_select_db(BASE, $connect);
 $obj="SELECT nom FROM User WHERE nom='$nom'";
 $req=mysql_query($obj);
 $row=mysql_numrows($req);
if ($row!=0)
 {
  echo "ce pseudo est deja pris";
 }
if (empty($nom) OR empty($password) OR empty($email))
 {
  echo "les champs <br>NOM, PASSWORD et EMAIL</br> ne doivent pas etre vides";
 }
else
 {
  $obj="INSERT INTO User VALUES ('$email', '$nom', '$prenom', '$password', '$AnneeNaiss', '$pays')";
  $req=mysql_query($obj) or die ('error sql'.sql.'<br>'.mysql_error());
  header("location: formulaire%20inscription.html" );
  exit;
 }
 
 
mysql_close($connect);
echo "</body>";
?>


rien avant rien apres

n°260193
Profil sup​primé
Posté le 03-12-2002 à 20:41:28  answer
 

erreur:
 

Warning: Cannot add header information - headers already sent by (output started at /var/www/free.fr/13/f/a/w/t/fawteam/php test/connect.php:11) in add.php on line 21


 
et quand je le met au debut le pbm est le meme seule la ligne change :/

n°260197
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 03-12-2002 à 20:45:16  profilanswer
 

:pfff:  
http://www.php.net/manual/fr/function.header.php
 
Je cite :

Citation :


Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée.

n°260199
Profil sup​primé
Posté le 03-12-2002 à 20:47:03  answer
 

ben j'ai retirer l'espace du require mais ca marche pas qd meme
 

<?php
require("connect.php" );
 $connect=mysql_connect(SERVEUR, NOM, PASSE);
 mysql_select_db(BASE, $connect);
 $obj="SELECT nom FROM User WHERE nom='$nom'";
 $req=mysql_query($obj);
 $row=mysql_numrows($req);
if ($row!=0)
 {
  echo "ce pseudo est deja pris";
 }
if (empty($nom) OR empty($password) OR empty($email))
 {
  echo "les champs <br>NOM, PASSWORD et EMAIL</br> ne doivent pas etre vides";
 }
else
 {
  $obj="INSERT INTO User VALUES ('$email', '$nom', '$prenom', '$password', '$AnneeNaiss', '$pays')";
  $req=mysql_query($obj) or die ('error sql'.sql.'<br>'.mysql_error());
  header("location: formulaire%20inscription.html" );
  exit;
 }
 
 
mysql_close($connect);
echo "</body>";
?>

meme erreur :'(

n°260202
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 03-12-2002 à 20:49:03  profilanswer
 

RAH !@#  :fou:  
Ce que DIT le manuel c'est de NE PAS utiliser include() ou require(). C'est bon, tu t'en sors ?

n°260204
gm_superst​ar
Appelez-moi Super
Posté le 03-12-2002 à 20:49:31  profilanswer
 

C'est dans connect.php qu'il doit y avoir des lignes vides ou des espaces.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°260206
gm_superst​ar
Appelez-moi Super
Posté le 03-12-2002 à 20:50:33  profilanswer
 

Taiche a écrit a écrit :

RAH !@#  :fou:  
Ce que DIT le manuel c'est de NE PAS utiliser include() ou require(). C'est bon, tu t'en sors ?



Heu si, il peut l'utiliser, il faut juste qu'ils produisent rien en sortie.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°260207
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 03-12-2002 à 20:51:25  profilanswer
 

Ah oué, autant pour moi, désolé :o

n°260213
Profil sup​primé
Posté le 03-12-2002 à 20:55:07  answer
 

ben vala mon connect.php
 

<?php
 define(NOM, "****" );
 define(PASSE, "***" );
 define(SERVEUR,
"http://fawteam.free.fr/php%20test/" );
 define(BASE, "****" );
?>


 
ya pas d'espace au define :/


Message édité par Profil supprimé le 03-12-2002 à 20:55:52
n°260214
gm_superst​ar
Appelez-moi Super
Posté le 03-12-2002 à 20:57:12  profilanswer
 

Les caractères qui ont été envoyés sont à la ligne 11 de connect.php. Or vu ce que tu postes il ne fait pas 11 lignes. Tu dois donc avoir des lignes vides après le ?> de connect.php.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°260218
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 03-12-2002 à 20:58:26  profilanswer
 

Humpf. Fous un exit() ou un die() après l'echo du premier if.
Pis euh, l'echo "</body>" de la fin il est tout seul sans echo "<body>" ? :D

n°260219
Profil sup​primé
Posté le 03-12-2002 à 20:58:56  answer
 

je les ai retiré j'avais en effet du <html> <body> ....
 
plus maintenant

n°260221
Profil sup​primé
Posté le 03-12-2002 à 21:00:57  answer
 

ca marche now !!!!
 
j'avais un espace avant le <?php :heink:

n°260269
coockie_jr
All hail the Hypnotoad !
Posté le 03-12-2002 à 21:53:35  profilanswer
 

chacal_one333 a écrit a écrit :

ca marche now !!!!
 
j'avais un espace avant le <?php :heink:  




 
 :lol:  :lol:  :lol:  
c pour ca que j'adore programmer  [:noelgrin]

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Header(location: .....) dsl toujours pas compris

 

Sujets relatifs
Appeler une page avec header() en envoyant des données en post ?Erreur : IMW0361E Unknown or unexpected header: Cookie.
[PHP] Pb header et pseudo-frames@header() et header()
j'ai pas bien compris c quoi les tableaux et les structurestutorial autoconf/make/header
Pb de header avec du bitmap 24 bits[php] mozzilla et Header("WWW-Authenticate")
Récup l'@ saisie dans la barre de location du navigateurCannot add header
Plus de sujets relatifs à : Header(location: .....) dsl toujours pas compris


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR