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

  FORUM HardWare.fr
  Programmation
  PHP

  Erreur header avec une affiliation de petites-annonces

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur header avec une affiliation de petites-annonces

n°845624
boeing
Posté le 09-09-2004 à 04:28:31  profilanswer
 

Bonjour ou plutot bonsoir :p
j'ai une erreur :  

Code :
  1. Warning: Cannot modify header information - headers already sent by (output started at /home/fullport/web/petites-annonces/index.php:5) in /home/fullport/web/petites-annonces/index.php on line 208


avec une marque blanche de petites-annonces
voici la ligne 208 en question :

Code :
  1. header($mix_headerclient);


 
 
voilà j'ai vu sur un forum qu'il y'avait un truc a faire pour regler le bleme mais je m'ensouvient plus  :o  
merci de m'aider  :sarcastic:  
a+


Message édité par boeing le 09-09-2004 à 04:30:16
mood
Publicité
Posté le 09-09-2004 à 04:28:31  profilanswer
 

n°845626
aspegic500​mg
Posté le 09-09-2004 à 04:46:07  profilanswer
 

Cette erreur veut dire que tu envoi des données d'en-tete aprés avoir envoyer du html, tu as besoin de regarder dans le reste du code pour trouver ca !
 
Sinon tu peux tout mettre dans un buffer et envoyer le buffer à la fin, c'est plus simple.

n°845642
Xav_
The only one...
Posté le 09-09-2004 à 08:22:24  profilanswer
 

ligne 208, ben ça veut dire que dans les 207 lignes qui précèdent il faut que tu n'envoi rien en HTML vers le client, mais ça aspegic te l'a déjà dis...
 
ya pas moyen que tu fasse ta redirection avant, paske 200 lignes de traitement avant de savoir où tu dois aiguiller le visiteur ça me parait long...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°845701
SatanKoRn
J'T'A'M !
Posté le 09-09-2004 à 10:07:30  profilanswer
 

aspegic500mg a écrit :

Cette erreur veut dire que tu envoi des données d'en-tete aprés avoir envoyer du html, tu as besoin de regarder dans le reste du code pour trouver ca !
 
Sinon tu peux tout mettre dans un buffer et envoyer le buffer à la fin, c'est plus simple.


c'est quoi ce buffer ?? tu aurais un bon tuto par hasard ? s'il te plait...  :)


---------------
Matt
n°845763
ratibus
Posté le 09-09-2004 à 11:25:07  profilanswer
 

Tu as commencé à envoyer des données à la ligne 5 (c'est indiqué dans le message d'erreur).
Faudrait qu'on voit ton code pour pouvoir t'aider.

n°845983
boeing
Posté le 09-09-2004 à 14:46:23  profilanswer
 

Code :
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="fr">
  4. <?php
  5. $AFF_NUMBER = "AFF2336";
  6. $mix_lien_redirect = "";
  7. $COOKIES_MIXAD = $GLOBALS["HTTP_COOKIE"];
  8. function GetServicePA()
  9. {
  10. $COOKIES_MIXAD = $GLOBALS["COOKIES_MIXAD"];
  11. $mix_redirect=False;
  12. $mix_fichiers="";
  13. $mix_headers="";
  14. $mix_dc = 0;
  15. $mix_form="";
  16.         $mix_bo="";
  17. $mix_variables="";
  18. $mix_buf="";
  19. $mix_header = true;
  20. $mix_result = "";
  21. $mix_urlsitebase=$_COOKIE["MixadUrlSiteBase"];
  22. $mix_method = $GLOBALS["REQUEST_METHOD"];
  23. $mix_host = "perso.mixad.com";
  24. $mix_create_form = $GLOBALS["create_form"];
  25. $mix_path = "/";
  26. $mix_port = 80;
  27. $mix_strcookie = "";
  28. $mix_headerclient="";
  29. $mix_lien_http = $GLOBALS["lien_http"];
  30. if ($mix_lien_http == "" ) {
  31.  $mix_lien_http=$GLOBALS["url_mixad"];
  32. }
  33. //Gestion des redirect IIS
  34. if ($GLOBALS["lien_redirect"] != "" ) {
  35.  $mix_lien_http = $GLOBALS["lien_redirect"];
  36. }
  37. //Extraction du path
  38. if ($mix_lien_http!="" ) {
  39.  $mix_path = $mix_lien_http;
  40.  $pos = strpos($mix_path,"?" );
  41.  if (is_int($pos)) {
  42.   $mix_path = substr($mix_path,0,$pos);
  43.   $mix_variables = substr($mix_lien_http,$pos+1) . "&";
  44.  }
  45. }
  46. //Extraction des variables du GET
  47. if ($GLOBALS["lien_redirect"] == "" && $mix_create_form=="" ) {
  48.  foreach($GLOBALS["HTTP_GET_VARS"] as $key=>$elem) {
  49.   if ($key!="lien_http" && $key!="action_http" && $key!="url_mixad" ) {
  50.    $mix_variables .=  $key . "=" . urlencode($elem) . "&";
  51.   }
  52.  }
  53. }
  54. //Interrogation du serveur IIS/MixadPerso distant  
  55. //pour affichage du service de petites annonces
  56. $fp = fsockopen($mix_host,$mix_port, $errno, $errstr,300);
  57. if (!isset($_COOKIE["MIXADTRACKING"]) || !strpos($_COOKIE["MIXADTRACKING"],"TCKID=" . $GLOBALS["AFF_NUMBER"]) ) {
  58.  $mix_variables.="TCKID=". $GLOBALS["AFF_NUMBER"] . "&NBCVERSION=PHP2&";
  59. }
  60. $mix_headers.="$mix_method $mix_path?$mix_variables HTTP/1.1\r\nHost: $mix_host\r\n";
  61. //On repasse tous les cookiees précédemment récupérés
  62. if (isset($COOKIES_MIXAD)&&$COOKIES_MIXAD!="" ) {
  63.  $mix_headers.="Cookie: ".$COOKIES_MIXAD."\r\n";
  64. }
  65. $mix_headers.="Accept: */*\r\n";
  66. $mix_headers.="Connection: Keep-Alive\r\n";
  67. if ($mix_create_form == "2" ) {
  68.  $bo_key = substr(md5($local_file.time()), 1, 15);
  69.  $mix_bo="-----------------------------".$bo_key;
  70.  $mix_form.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*\r\n";
  71.  $mix_form.="Accept-Charset: iso-8859-1,*,utf-8\r\n";
  72.  $mix_form.="Content-type: multipart/form-data; boundary=$mix_bo\r\n";
  73.  $mix_bo="-----------------------------".$bo_key."\r\n";
  74.  foreach($GLOBALS["HTTP_GET_VARS"] as $key=>$val) {
  75.   if ($key!="create_form" && $key!="lien_http" ) {
  76.    $ds =sprintf("%sContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n", $mix_bo, $key, $val);
  77.    $mix_dc += strlen($ds);
  78.   }
  79.  }
  80.  $mix_dc += strlen($mix_bo)+3;
  81.  $mix_form.="Content-length: $mix_dc \r\n";
  82.  $mix_form.="\r\n";
  83.  foreach($GLOBALS["HTTP_GET_VARS"] as $key=>$val) {
  84.   if ($key!="create_form" && $key!="lien_http" ) {
  85.    $ds =sprintf("%sContent-Disposition: form-data; name=\"%s\"\r\n\r\n%s\r\n", $mix_bo, $key, $val);
  86.    $mix_form.=$ds;
  87.   }
  88.  }
  89.  $mix_bo =  "-----------------------------".$bo_key . "--";
  90.  $mix_form.=$mix_bo;
  91. }
  92. //Si create_form = 1
  93. if ($mix_create_form == "1" ) {
  94.  foreach($GLOBALS["HTTP_GET_VARS"] as $key=>$val) {
  95.   if ($key!="create_form" && $key!="lien_http" ) {
  96.    $mix_form .= $key . "=" . urlencode($val) . "&";
  97.   }
  98.  }
  99.  $mix_form = substr($mix_form,0,strlen($mix_form)-1);
  100.  $mix_headers.="Content-type: application/x-www-form-urlencoded\r\n";
  101.  $mix_headers.="Content-length: ". strlen($mix_form) ."\r\n\r\n";
  102. }
  103. if ($mix_create_form == "" ) {
  104.  $mix_headers.="\r\n";
  105. }
  106. fputs($fp, $mix_headers);
  107. fputs($fp, $mix_form."\r\n\r\n" );
  108. //Récupération du résultats  
  109. while(!feof($fp)) {
  110.  $line = fgets($fp,4096);
  111.  //Gestion des redirect de la Plate-Forme IIS
  112.  if ($line != "HTTP/1.1 302 Object moved\r\n" ) {
  113.   if ( $line == "\r\n"&&$mix_header) $mix_header = false;
  114.   //traitement des cookie renvoyés
  115.   if (substr($line,0,10) == "Set-Cookie" ) {
  116.    $mix_strcookie .= $line;
  117.    $dline=urldecode($line);
  118.    $firstpos=strpos($dline,'URL_BASE_AFFILIEUR=');
  119.    if ($firstpos!= false) {
  120.     $firstpos+=19;
  121.     $secpos=strpos($dline,'&ISAFFILIEUR');
  122.     $mix_urlsitebase = substr($dline,$firstpos,$secpos-$firstpos);
  123.     $mix_strcookie .= 'Set-Cookie: MixadUrlSiteBase='. urlencode($mix_urlsitebase) . "; path=/\r\n";
  124.    }
  125.   }
  126.   if ( $mix_header == false )
  127.   {
  128.    $mix_result = $fp;
  129.    break;
  130.   }
  131.  }
  132.  else {
  133.   $mix_redirect = True;
  134.   while(!feof($fp)) {
  135.    $line = fgets($fp,4096);
  136.    if ($line == "\r\n" ) {
  137.     break;
  138.    }
  139.    if (substr($line,0,9) == "Location:" ) {
  140.     $GLOBALS["lien_redirect"] = str_replace("\r\n","",substr($line,10));
  141.    }
  142.    //traitement des cookie renvoyés
  143.    if (substr($line,0,10) == "Set-Cookie" ) {
  144.     $mix_strcookie .= $line;
  145.     $dline=urldecode($line);
  146.     $firstpos=strpos($dline,'URL_BASE_AFFILIEUR=');
  147.     if ($firstpos!= false) {
  148.      $firstpos+=19;
  149.      $secpos=strpos($dline,'&ISAFFILIEUR');
  150.      $mix_urlsitebase = substr($dline,$firstpos,$secpos-$firstpos);
  151.      $mix_strcookie .= 'Set-Cookie: MixadUrlSiteBase='. urlencode($mix_urlsitebase) . "; path=/\r\n";
  152.     }
  153.    }
  154.   }
  155.   break;
  156.  }
  157. }
  158. if ($mix_redirect) {
  159.  header("HTTP/1.1 301 Moved Permanently" );
  160.  $mix_headerclient.="Location: ".$mix_urlsitebase."lien_http=".urlencode($GLOBALS["lien_redirect"])."\r\n";
  161.  $mix_headerclient.="Connection: Close\r\n";
  162.  fclose($fp);
  163. }
  164. $mix_headerclient.=$mix_strcookie;
  165.     header($mix_headerclient);
  166. if ($mix_redirect) {
  167.  exit;
  168. }
  169. return $mix_result;
  170. }
  171. function DisplayServicePA ($MyfpMixad) {
  172. while(!feof($MyfpMixad)) {
  173.  $line = fgets($MyfpMixad,4096);
  174.  echo($line);
  175.  if ($line == "</html>\r\n" ) {
  176.   break;
  177.  }
  178. }
  179. fclose($MyfpMixad);
  180. }
  181. $fpMixad=GetServicePA();
  182. ?>
  183. <body>
  184. <?DisplayServicePA($fpMixad);?>
  185. </body>
  186. </html>


 
voilà c le code la page en entier ..
Merci

n°845993
ratibus
Posté le 09-09-2004 à 14:54:15  profilanswer
 

Les lignes 1 à 4 doivent être déplacées à la ligne 238

n°846010
boeing
Posté le 09-09-2004 à 15:05:26  profilanswer
 

Excellent !
Merci beaucoup ratibus
a+

n°846049
jagstang
Pa Capona ಠ_ಠ
Posté le 09-09-2004 à 15:25:38  profilanswer
 

on a enfin trouvé un avantage à cette numérotation de ligne sur le forum


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°846112
Xav_
The only one...
Posté le 09-09-2004 à 16:08:10  profilanswer
 

JagStang a écrit :

on a enfin trouvé un avantage à cette numérotation de ligne sur le forum


 
+1


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World

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

  Erreur header avec une affiliation de petites-annonces

 

Sujets relatifs
(Novice) Erreur de lancement[Forum PHP] Erreur d'affichage de pages
Erreur 1046[VBA] --> Problème rapide ( erreur de syntaxe )
Erreur getimagesize[C++] IIDFromString erreur... [résolu]
Problème de header[PHP] erreur que je ne comprend pas
SQL Access Erreur de Requetenotification d'erreur que je comprend pas
Plus de sujets relatifs à : Erreur header avec une affiliation de petites-annonces


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