Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/01/2008, à 13:03

globilux

Génréation de flux XML et session php

bonjour,

j'ai fait une méthode qui est censé me renvoyé un flux xml

	public function copy_licence()
	{
		$zip=explode("/",$this->file);
		if($this->type=="eval")
    {
        $created_folder=$this->folder.'/StormShield-Evaluation-Licences/';
    } 
    else
    {
      $created_folder=$this->folder.'/StormShield-Licences/';
    }
		if(!is_dir($this->folder))
		{
			exec('mkdir '.$this->folder);
		}
		exec('cp '.$this->file.' '.$this->folder.'/'.$zip[10]); // <-- copie le ficher .zip dans le répetoire
		if(is_writable($this->folder))
		{
      if(!is_dir($this->folder.'/StormShield-Licences/')) // <-- créer un dossier (effacer après) o๠seront stockés les licences
  		{
        exec('mkdir '.$created_folder);
        exec('chmod -R 777 '.$created_folder);
      }
    }
    else if(!is_writable($this->folder))
    {
      die("<div class=\"error\">Veuillez contacter l'administrateur système avec le code 2048</div");
    }
		exec('unzip -q -o -d '.$this->folder.' '.$this->folder.'/'.$zip[10]);
		exec('cp '.$created_folder.'/product.lic '.$this->folder); // <-- copie des fichiers
		exec('cp '.$created_folder.'/console.lic '.$this->folder);
		exec('rm -fr '.$created_folder); // <-- nettoyage (à  coup de karcher)
		exec('rm -fr '.$this->folder.'/'.$zip[10]);
		if(is_file($this->folder.'/product.lic') && is_file($this->folder.'/console.lic'))
		{
		  header("Content-Type: text/xml");
      echo '<past>good</past>';
    }

mais voila j'ai une session en cours
donc j'ai une erreure php

Warning:  Cannot modify header information - headers already sent by (output started at /srv/sites

/extranet/skyline/marwan-coding-tmp/header.php:12) in /srv/sites/extranet/skyline/marwan-coding-tmp

/Environment.php on line 127

comment puis je faire ?

Hors ligne

#2 Le 03/01/2008, à 13:24

alexduf

Re : Génréation de flux XML et session php

je suis pas un expert en php, ceci dit le problème me semble compréhensible.

Visiblement la réponse a déjà  commencé a être envoyée, mais tu essaie de modifier l'en-tête de la réponse.

Je ne connais pas tes compétences à  propos du protocole HTTP, donc je me permet d'expliquer.

Le protocole HTTP fonctionne sur le principe suivant : le client envoi une requête au serveur (constitué d'un en-tête uniquement). Le serveur reçoit la requête, la traite et retourne un en-tête plus un corps (donc le flux xml dans ton cas) de message.

L'en-tête de la réponse contient plusieurs choses dont la taille du corps et son type.

Et c'est là  que l'erreur intervient, il est possible que tu demande de changer le type de réponse (passer du html par défaut au xml) alors que l'en-tête de la réponse a déjà  été envoyé au client !

il faut donc simplement repérer la ligne fautive et la faire intervenir plus tà´t, ou alors (je ne connais pas la faisabilité en php) buffuriser la réponse avant de l'envoyer.

[edit] en lisant un peu le code j'ai trouvé ca :
la ligne en question est

header("Content-Type: text/xml");

mais visiblement dans le fichier header.php à  la ligne 12, la réponse a déjà  été envoyée (message d'erreur)
[/edit]

Dernière modification par alexduf (Le 03/01/2008, à 13:27)

Hors ligne

#3 Le 03/01/2008, à 15:28

globilux

Re : Génréation de flux XML et session php

sans vouloir être méchant, je sais lire

Hors ligne

#4 Le 04/01/2008, à 14:26

alexduf

Re : Génréation de flux XML et session php

lol ok ok

bon courage alors

Hors ligne

#5 Le 04/01/2008, à 14:40

globilux

Re : Génréation de flux XML et session php

alexduf a écrit :

lol ok ok

bon courage alors

merci wink

finallement j'ai résolu le problème

Hors ligne

#6 Le 29/06/2008, à 15:57

Crazyfaboo

Re : Génréation de flux XML et session php

Et comment tu as fait stp ?

Hors ligne