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

  FORUM HardWare.fr
  Programmation
  PHP

  Fatal error ^_o

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fatal error ^_o

n°1858240
absot77
Posté le 05-03-2009 à 22:45:06  profilanswer
 

Slt, je programme une petite fonction qui me permet d'afficher des images dans un tableau au format png, gif et jpg seulement et affiche un nombre d'images par ligne défini par l'utilisateur...
 
Seulement, quand je vérifie mon code avec easyphp, j'ai un message d'erreur fatal: " Fatal error: Can't use function return value in write context in C:\Program Files\EasyPHP 3.0\www\APIG\AP_Fevrier\affiche.php on line 34 "
 
Voici mon code:

Code :
  1. <html>
  2. <head>
  3. <link rel="stylesheet" type="text/css" href="fichier.css">
  4. </head>
  5. <body>
  6. <?php
  7. $repertoire=$_POST['repertoire'];
  8. $nombre=$_POST['image'];
  9. $largeur=$_POST['largeur'];
  10. $hauteur=$_POST['hauteur'];
  11. $curseur=opendir($repertoire);
  12. $file=readdir($curseur);
  13. $nbp=0;
  14. function getExtension($image){
  15. $trunc = split('[.]', $image);
  16. if(sizeof($trunc)>1){
  17.  return $trunc[sizeof($trunc)-1];
  18. }else {
  19.  return strtolower(substr($image,-3));
  20. }
  21. }
  22. echo "<TABLE BORDER='1'>";
  23. echo "<TR> ";
  24.      while ( $curseur != FALSE){
  25.     if ( (getExtension($file)="JPG" ) or (getExtension($file)="PNG" ) (getExtension($file)="GIF" ) ){
  26. $nbp=$nbp+1;
  27.     echo "<TD>".$file."</TD> "; 
  28.      if ($nbp=$nombre){
  29.  echo "<TD>".$file."</TD>";
  30. }else{
  31.    
  32.  echo "</TR>"};
  33.  }else
  34.  { echo "</TR>";
  35.  }
  36.  echo "</TABLE>";
  37. ?>
  38. </body>
  39. </html>


 
La ligne 34 est celle avec le if pour les extensions..
 
PS: je sais que mon conde est sâle..  :d


Message édité par absot77 le 05-03-2009 à 22:47:29
mood
Publicité
Posté le 05-03-2009 à 22:45:06  profilanswer
 

n°1858246
PunkRod
Digital Mohawk
Posté le 05-03-2009 à 22:59:29  profilanswer
 

tu affectes au lieu de comparer dans ton if :o
 
en plus tu devrais mettre une variable au dessus pour faire ton découpage, tu appelerais la fonction qu'une fois, au lieu de le faire 3x pour un résultat identique

n°1858254
absot77
Posté le 05-03-2009 à 23:11:19  profilanswer
 

Comment ça j'ai affecter au lieu de comparer?
 
Au quel?
 

n°1858265
PunkRod
Digital Mohawk
Posté le 05-03-2009 à 23:32:10  profilanswer
 

ligne 34 les 2.
pour comparer faut ==

 

T'as repompé ce code qque part ou tu l'as écrit toi même ?


Message édité par PunkRod le 05-03-2009 à 23:32:17
n°1858266
absot77
Posté le 05-03-2009 à 23:33:54  profilanswer
 

Je l'ai fais moi-même, c'est aussi mauvais que ça?  :(

n°1858357
PunkRod
Digital Mohawk
Posté le 06-03-2009 à 09:08:53  profilanswer
 

ben tu devrais savoir la différence entre = et == quoi :o

n°1858360
soulmanto
Chat Noir replica
Posté le 06-03-2009 à 09:18:40  profilanswer
 

[:haha]

n°1858385
l0g4n
Expert en tout :o
Posté le 06-03-2009 à 10:28:45  profilanswer
 

...
= != == != ===
:D
Nan mais sérieu, tu met un = dans un test => tu redéfini ta variable; donc forcément, sa marche moins bien...

n°1858393
fluminis
Posté le 06-03-2009 à 10:45:00  profilanswer
 

Bon plusieurs erreurs : certaines ont déja été dites :
 
= au lieu de == dans ton if.
 
un }; au lieu de ;}  
une indentation laisant a desirée j'ai cru un bon moment qu'il te manquait un } avant de voir le coup du }; au lieu de ;}
 
un while ( $curseur != FALSE){ qui te fait surement une boucle infinie car $curseur n'est jamais mis a true apparement
 
Tu peux simplifier le test de l'extention autorisée avec une variable temporaire et in_array
 
ta fonction getExtention est tordue : si split n'a pas donné au moins un tableau a deux elements, ca ne sert a rien de renvoyer les 3 derniers caracteres : ce n'est pas l'extention du fichier.
tu renvoies dans ce cas strtolower alors que tu vas tester des extentions en majuscules ? Et dans ce cas pourquoi faire appel a cette fonction dans un cas et pas dans l'autre ?
 
...
 

Code :
  1. <html>
  2. <head>
  3. <link rel="stylesheet" type="text/css" href="fichier.css">
  4. </head>
  5. <body>
  6. <?php
  7. $repertoire=$_POST['repertoire'];
  8. $nombre=$_POST['image'];
  9. $largeur=$_POST['largeur'];
  10. $hauteur=$_POST['hauteur'];
  11. $curseur=opendir($repertoire);
  12. $file=readdir($curseur);
  13. $nbp=0;
  14. function getExtension($image){
  15. //verrifier si cette fonction fait bien ce que tu veux
  16. $trunc = split('[.]', $image);
  17. if(sizeof($trunc)>1){
  18.  return $trunc[sizeof($trunc)-1];
  19. }else {
  20.  return strtolower(substr($image,-3));
  21. }
  22. }
  23. echo "<TABLE BORDER='1'>";
  24. echo "<TR> ";
  25. while ( $curseur != FALSE){
  26. $ext = getExtension($file);
  27. if ( in_array($ext, array("JPG","PNG","GIF" ))){
  28.  $nbp=$nbp+1;
  29.  echo "<TD>".$file."</TD> ";
  30.  if ($nbp=$nombre){
  31.   echo "<TD>".$file."</TD>";
  32.  }else{
  33.   echo "</TR>";
  34.  }
  35. }else {
  36.  echo "</TR>";
  37. }
  38. }
  39. echo "</TABLE>";
  40. ?>
  41. </body>
  42. </html>


Message édité par fluminis le 06-03-2009 à 10:50:47

---------------
http://poemes.iceteapeche.com - http://www.simuland.net

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

  Fatal error ^_o

 

Sujets relatifs
fatal error C1009: limite du compilateur : macros imbriquées trop profFatal error: Can't use function return value in write context in
Fatal error: Call to undefined function obdc_do()Fatal error: Cannot re-assign $this
FaTaL eRrOr... tit coup de main svpFatal error: Cannot redeclare function
Fatal error: Cannot redeclare getsqlvaluestring() RESOLUproblème de Fatal error: Allowed memory size of 33554432 bytes exhaust
fatal error RC1015: cannot open include file 'afxres.h'Problème type "fatal error :Cannot instantiate..."
Plus de sujets relatifs à : Fatal error ^_o


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