Problème sur ma page de téléchargement

Problème sur ma page de téléchargement - PHP - Programmation

Marsh Posté le 21-06-2008 à 15:35:11    

Bonjour,
 
je suis en train de faire un site d'échange de fichier et je suis actuellement sur ma page de download.
 
Voici le script :  

Code :
  1. <?php
  2. session_start();
  3. if(isset($_GET['id']) && isset($_SESSION['identification']) && $_SESSION['struct']==1)
  4. {
  5. $db=mysql_connect("localhost","root","" );
  6.     mysql_select_db("stage",$db);
  7. $sql = "select * from docs where id='".$_GET['id']."';";
  8.     $req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  9. $res=mysql_fetch_array($req);
  10. $fichier = $res['chemin'].$res['nom'];
  11. echo $fichier;
  12.     header("Content-type: application/force-download" );
  13.     header("Content-Length: ".$res['taille']);
  14.     header("Content-Disposition: attachment; filename=".$fichier);
  15.     readfile($fichier);
  16. mysql_close();
  17. }
  18. elseif(!isset($_GET['id']) ) echo 'Merci de laisser l\'id transmise par l\'url ';
  19. elseif(isset($_SESSION['identification']) && $_SESSION['struct']!=1) echo 'Téléchargement interdit';
  20. elseif(!isset($_SESSION['identification'])) echo 'Accès interdit';
  21. ?>


 
Le problèe est que dès que je veux télécharger un fichier, voila ce qui est affiché :  
 
Warning: Cannot modify header information - headers already sent by (output started at c:\documents and settings\pross\bureau\stage\site d'echange\download.php:14) in c:\documents and settings\pross\bureau\stage\site d'echange\download.php on line 16
 
Warning: Cannot modify header information - headers already sent by (output started at c:\documents and settings\pross\bureau\stage\site d'echange\download.php:14) in c:\documents and settings\pross\bureau\stage\site d'echange\download.php on line 17
 
Warning: Cannot modify header information - headers already sent by (output started at c:\documents and settings\pross\bureau\stage\site d'echange\download.php:14) in c:\documents and settings\pross\bureau\stage\site d'echange\download.php on line 18
 
puis une longue suite de caractère bizarre (ca m'a l'air d'être du langage machine.
 
Si quelqu'un avais une petite idée du pourquoi de cette erreur, je suis preneur.
 
Merci de vos réponses

Reply

Marsh Posté le 21-06-2008 à 15:35:11   

Reply

Marsh Posté le 21-06-2008 à 21:30:55    

Tu ne peux pas faire de echo avant la fonction header. Enlève la ligne 14 qui ne semble servir à rien et tu devrais avoir ce que tu veux.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed