La fonction header se comportant bizarrement

La fonction header se comportant bizarrement - PHP - Programmation

Marsh Posté le 12-04-2006 à 10:44:07    

voilà mon script, vous ferez attention que pour faire des tests, je me suis occupé de tout mettre en commentaire, hormis l'appel d'header :
 

Code :
  1. <?php /*
  2. // connexion
  3. include("../connection_base.php" );
  4.  
  5.     // Page faisant appel aux sessions
  6.     session_start();
  7.     // Vérification de l'autorisation
  8.     if (!$_SESSION["user"])
  9. {
  10.        // Si l'utilisateur n'est pas autorisé il est reconduit
  11.        // sur le formulaire d'identification
  12.        header("Location: ../index.php" );
  13.        die();
  14.     }
  15. if ($_GET['idphoto']!="" )
  16. {
  17.  $idphoto=$_GET['idphoto'];
  18. }
  19. if ($_GET['idnumero']!="" )
  20. {
  21.  $idnumero=$_GET['idnumero'];
  22. }  
  23. $sql_query_numero = "SELECT * FROM numero WHERE numero_id='$idnumero'" or exit(mysql_error());
  24. $sql_result_numero= mysql_db_query("mgm_intranet",$sql_query_numero);
  25. $idnumero_numero = mysql_result($sql_result_numero,0,'numero_numero');
  26. // requête pour récupérer info de position des photos dans dossier
  27. // pour supprimer les fichiers dans les dossiers
  28. $sql_query_photo = "SELECT * FROM photo WHERE photo_id='$idphoto'" or exit(mysql_error());
  29. $sql_result_photo  = mysql_db_query("mgm_intranet",$sql_query_photo);
  30. $photo    = mysql_result($sql_result_photo,0,'photo_photourl');
  31. $vignette   = mysql_result($sql_result_photo,0,'photo_vignetteurl');
  32.  
  33. unlink("../medias/photos/numero_$idnumero_numero/$photo" );
  34. unlink("../medias/vignettes/numero_$idnumero_numero/$vignette" );
  35.  
  36. // Requête pour delete
  37. $sql= "DELETE FROM photo WHERE photo_id='$idphoto'" or die(mysql_error());
  38.  
  39. // Execution de la requête
  40. $sql_results = mysql_db_query("mgm_intranet",$sql);
  41.    //affichage des résultats, pour savoir si l'insertion a marchée:
  42. if($sql_results)
  43.    {*/
  44.     header("Location:partie_production.php?cat=page&faire=liste&idnumero=11" );
  45. /*}
  46.    else
  47.    {
  48.      echo("L'update a échouée" );
  49.    }
  50. */ ?>


 
et voilà le message d'erreur :
 
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\public\partie_production.php:30) in C:\wamp\www\public\photo_supprimer.php on line 51
 
A n'y rien comprendre :/


Message édité par zeManuuu le 12-04-2006 à 10:44:29
Reply

Marsh Posté le 12-04-2006 à 10:44:07   

Reply

Marsh Posté le 12-04-2006 à 10:45:26    

question déjà posée 13700000000 fois.
Si tu avais fait une recherche avant...  :sarcastic:

Reply

Marsh Posté le 12-04-2006 à 10:46:50    

je connais les pbl du header, les echo, les envois de requêtes avant le header, etc. Mais là j'ai beau prendre toutes les précautions, rien ne semble y faire...

Reply

Marsh Posté le 12-04-2006 à 10:55:39    

"Smaragdus
Le seul, l'unique" à donner des réponses qui ne servent à rien  :ange:  
 
tu ne testes pas si tes requetes SQL échouent, et en fonction du niveau d'affichage d'erreur il est possible d'avoir des notice ou warning affichés avant l'appel de header()
 
essaies de mettre un ini_set("display_errors", 0) en début de script

Reply

Marsh Posté le 12-04-2006 à 11:05:54    

avec ini_set("display_errors", 0), il n'affiche plus rien du tout, le header ne créé plus d'erreur, mais il ne redirige toujours pas vers la page que je veux.  
 
La structure de mon intranet, c'est une page (partie_production) qui est principale et divisée en plusieurs modules dont l'un, appelé contenu, appelle une page .php en fonction des arguments donnnés dans l'url.  
 
quand je mets  
header("Location:partie_production.php?cat=page&faire=liste&idnumero=11" );
ca veut dire que dans la zone "contenu" de partie_production, il include page_liste.php?idnumero=11

Reply

Marsh Posté le 12-04-2006 à 11:12:29    

zeManuuu a écrit :

je connais les pbl du header, les echo, les envois de requêtes avant le header, etc. Mais là j'ai beau prendre toutes les précautions, rien ne semble y faire...


 

misterpinguin a écrit :

"Smaragdus
Le seul, l'unique" à donner des réponses qui ne servent à rien  :ange:  


 
 
Vous savez lire ?
 
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\public\partie_production.php:30) in C:\wamp\www\public\photo_supprimer.php on line 51  
 
 
Des fois je me demande :/


Message édité par smaragdus le 12-04-2006 à 11:24:57
Reply

Marsh Posté le 12-04-2006 à 11:12:57    

le script que tu as posté est déja lui meme appelé dans un include ?
 
si oui et que tu as de l'affichage dans le script parent avant le include, normal que ton header ne fonctionne pas

Reply

Marsh Posté le 12-04-2006 à 11:13:14    

      v là
-> `` <?php header("Il-y-a-un-espace-en-trop: bug" ); ?>``
       ^ ici


Message édité par nargy le 12-04-2006 à 11:13:59
Reply

Marsh Posté le 12-04-2006 à 11:15:17    

yep mais la ligne 30 de partie_production.php, c'est le début de toute ma page, etc... LE truc, c'est que j'ai déjà utilisé ce header dans un autre script (celui qui me permet d'ajouter la photo) et ce header marche très bien. Pourtant, il est exécuté dans exactement les même conditions :/
 

Code :
  1. if (rename($_FILES["miniature"]["tmp_name"],$repertoireDestination.$nomDestination))
  2. {
  3.     header("Location: partie_production.php?cat=page&faire=liste&idnumero=$idnumero" );
  4. }
  5. else
  6. {
  7.     echo "Le déplacement du fichier temporaire a échoué"."
  8.     vérifiez l'existence du répertoire ".$repertoireDestination;
  9. }


 
Pour nargy : non il n'y pas d'espace.


Message édité par zeManuuu le 12-04-2006 à 11:18:11
Reply

Marsh Posté le 12-04-2006 à 11:25:11    

misterpinguin, t'as compris le pbl ^^ merci de m'avoir ouvert les yeux sur cette bourde de gogol xD
pour appeler les autre script de suppression, je mettais directement le lien alors que là, j'utilisais comme un gogol les variables d'url pour les appeler... ca risquait pas de marcher -_-


Message édité par zeManuuu le 12-04-2006 à 11:25:49
Reply

Sujets relatifs:

Leave a Replay

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