probleme avec un if[RESOLU]

probleme avec un if[RESOLU] - PHP - Programmation

Marsh Posté le 09-10-2004 à 16:16:40    

bonjour j'ai quelques petits soucis avec un if ... je vous expliques :
C un page de traitement qui selon $action : ajoute, supprime ou modifie un enregistrement.
donc voila mon code pour une action

Code :
  1. $action=$_POST['action'];
  2. <HTML><HEAD></HEAD><BODY>
  3. <?
  4. if ($action =="ajouter" )
  5. {
  6. $requeteMYSQL= "INSERT INTO collections VALUES('$id','$non')";
  7. include ("conf.php" );
  8. ("Erreur MySQL : " . mysql_error());
  9. mysql_close($connexion);
  10. }
  11. ?>
  12. </body></html>


donc si j'enleve le if mon action se passe sans probleme mais si je le laisse tel qu'il est alors rien ne se passe et sur le code source de ma page j'ai ceci :

Code :
  1. <HTML><HEAD></HEAD><BODY>

rien de plus !
d'ou viens le probleme? est ce que C parce qu'il se trouve dans mon body?
 
merci de votre aide


Message édité par attentio le 24-03-2005 à 21:06:59

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
Reply

Marsh Posté le 09-10-2004 à 16:16:40   

Reply

Marsh Posté le 09-10-2004 à 16:27:17    

$action=$_POST['action']; est hors PHP. :o

Reply

Marsh Posté le 09-10-2004 à 16:34:49    

erreur de frappe de ma part !
$action=$_POST['action']; est bien dans du php

Reply

Marsh Posté le 09-10-2004 à 16:36:40    

Que donne echo $action; ?

Reply

Marsh Posté le 09-10-2004 à 16:48:24    

il passe !!!
mais G toujours dans le code source de ma page html:

Code :
  1. <HTML><HEAD></HEAD><BODY>ajouter


chelou, non?


Message édité par attentio le 09-10-2004 à 16:50:56
Reply

Marsh Posté le 09-10-2004 à 17:07:09    

voici le code complet de ma page :

Code :
  1. <?
  2. include ("login.php" );
  3. $action=$_POST['action'];
  4. print_r($_POST);
  5. $collection_id=$_POST['collection_id'];
  6. $univers_id=$_POST['univers_id'];
  7. $nom_collection=$_POST['nom_collection'];
  8. $datemodif=filemtime($_FILES['photo_collection']['tmp_name']);
  9. $nom=date("mdy-His",$datemodif).".jpg";
  10. ?>
  11. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  12. <HTML>
  13. <HEAD>
  14. <TITLE>Upload et créaction de miniatures autonome</TITLE>
  15. </HEAD>
  16. <BODY background="img/fond.jpg">
  17. <?
  18. //
  19. //ajouter une collection  
  20. //
  21. echo $action;
  22. if ($action =="ajouter" )
  23. {
  24. $requeteMYSQL= "INSERT INTO collections VALUES('$collection_id','$nom_collection', '$univers_id','$nom')";
  25. $connexion=mysql_connect('localhost', 'root','');
  26. mysql_select_db('ma_base',$connexion);
  27. mysql_query($requeteMYSQL) or die
  28. ("Erreur MySQL : " . mysql_error());
  29. mysql_close($connexion);
  30. if(file_exists($_FILES['photo_collection']['tmp_name']))
  31. {
  32. if($_FILES['photo_collection']['size']>60000)
  33. {
  34.  if($_FILES['photo_collection']['size']<1000000)
  35.  {
  36.   @copie($_FILES['photo_collection']['tmp_name'],$nom);
  37.  }
  38.  else
  39.  {
  40.   echo"La taille de l'image est trop importante.";
  41.  }
  42. }
  43. else
  44. {
  45. @copie($_FILES['photo_collection']['tmp_name'],$nom);
  46. }
  47. }
  48. function copie($fname,$nom)
  49. {
  50. $info=getimagesize($fname);
  51. if($info[2] == 2)
  52. {
  53.  $coef=2;
  54.  $w=$info[0];
  55.  $h=$info[1];
  56.  $im = imagecreatefromjpeg($fname);
  57.  $im2 = imagecreatetruecolor (140, 140);
  58.  imagecopyresized($im2, $im, 0, 0, 0, 0, 140, 140, $w, $h);
  59.  imagejpeg($im2,"../images/images_collections/".$nom,100);
  60.  imagedestroy($im);
  61. }
  62. else
  63. {
  64.  echo"Format " . $info[2] . " non pris en charge. Merci de convertir l'image en jpg avant de recommencer.\n";
  65. }
  66. }
  67. }
  68. ?>
  69. <A HREF="index.php" class="lien">Retour</A>
  70. </BODY>
  71. </HTML>


 
donc si je vire le if ($action =="ajouter" )ca marche mais etant donné qu'il y aura d'autres actions je suis obligé de le mettre
 
merci de votre aide

Reply

Marsh Posté le 09-10-2004 à 17:21:40    

Montre le code de la page qui point vers cette page de traitement.

Reply

Marsh Posté le 09-10-2004 à 17:28:02    

Code :
  1. <?
  2. include ("login.php" );
  3. include ("../fr/fonctions/conf.php" );
  4. if (isset($_GET['collection_id']))
  5. {
  6. $collection_id=$_GET['collection_id'];
  7. } else
  8. $collection_id = 0;
  9. //test pour la photo
  10. if (isset($_POST['photo']))
  11. {
  12. $photo=$_POST['photo'];
  13. } else
  14. $photo = 0;
  15. //
  16. if (isset($_GET["action"]))
  17. {
  18. $action = $_GET["action"];
  19. }
  20. $req_collections = mysql_query("select* FROM collections WHERE collection_id='$collection_id'" );
  21. $req_univers = mysql_query("select* FROM univers " );
  22. $univers_id['univers_id']="";
  23. mysql_close($connexion);
  24. ?>
  25. <html>
  26. <head>
  27. <title><? echo $action; ?> une collection</title>
  28. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  29. <script language="javascript">
  30. function verif_form()
  31. {
  32.    var msg="";
  33.    if(document.formulaire.nom_collection.value=='')
  34.    {
  35.       msg=msg + "\n";
  36.    }
  37.    if (document.formulaire.photo_collection.value=='')
  38.    {
  39.       msg=msg + "\n";
  40.    }
  41.    if(msg=='')
  42.    {
  43.       return true
  44.    }
  45.    else
  46.       {
  47.       alert(" Si vous modifiez ou ajoutez une collection, vous devez remplir tous les champs" );
  48.       return false;
  49.       }}
  50.   </script>
  51. </head>
  52. <? include('body.php');?>
  53. <h2 align="center"><font color="#650832" face="Verdana, Arial, Helvetica, sans-serif"><? echo $action; ?> une collection</font></h2>
  54. <?
  55. //recuperer les donnees
  56. $resultatscollections =mysql_fetch_array($req_collections);
  57. //insertion des donnees  #650832
  58. ?>
  59. <form name="formulaire"action="actions_collections.php" method="post" enctype="multipart/form-data" onSubmit="javascript: return verif_form();">
  60. <table align=center>
  61.   <tr>
  62.  
  63.   <input type="hidden" name="action" value="<? echo($action); ?>" />
  64. <input type="hidden" name="univers_id" value="<? echo($univers_id); ?>" />
  65. <input type="hidden" name="photo" value="<? echo($photo); ?>" />
  66. <input type="hidden" name="collection_id" value="<? echo($collection_id); ?>" />
  67. <td><div align="right">nom de la collection : </div></td>
  68. <td><input type="text" name="nom_collection" value="<? echo $resultatscollections['nom_collection'];?>"></td>
  69.   </tr>
  70.   <tr>
  71. <td><div align="right">univers : </div></td>
  72. <td>
  73. <select name="univers_id">
  74. <?
  75. //affichage des univers
  76. $selection="";
  77. for($n=0;$n<mysql_num_rows($req_univers);$n++)
  78. {
  79. $resultatsunivers =mysql_fetch_array($req_univers);
  80. $selection="";
  81. if($resultatsunivers['univers_id']  ==  $resultatscollections['univers_id'])
  82.    {
  83.    $selection = " selected";
  84.    }
  85.    else
  86.    {
  87.    $selection="";
  88.    }
  89. echo"<option value='" . $resultatsunivers['univers_id'] ."'" . $selection . ">" . $resultatsunivers['nom_univers'] ."</option>";
  90. }
  91. ?>
  92. </select>
  93. </td>
  94. </tr>
  95. <?
  96. //champs pour l'upload
  97. if ($action !="supprimer" ){
  98. ?>
  99. <tr>
  100. <td align="center" colspan="2">
  101. <?
  102. echo "<br>veuillez insérer une photo<br><input type='file' name='photo_collection'><br><br>";
  103. ?>
  104. </td>
  105. </tr>
  106. <?
  107. }
  108. if ($action =="modifier" ){
  109. }
  110. ?>
  111. <tr>
  112. <td align="right" colspan="2">
  113. <input type="submit" value="<? echo $action; ?>">
  114. </td>
  115. </tr>
  116. </table>
  117. </form>
  118. </body>
  119. </html>


merci de ton aide


Message édité par attentio le 09-10-2004 à 17:31:13
Reply

Marsh Posté le 09-10-2004 à 17:31:18    

<input type="submit" value="<? echo $action; ?>">
 
 
tsstsssss...
 
 
<input type="submit" name="action" value="<? echo $action; ?>">

Reply

Marsh Posté le 09-10-2004 à 17:40:38    

tout pareil !!! ca marche pas ...

Reply

Marsh Posté le 09-10-2004 à 17:40:38   

Reply

Marsh Posté le 09-10-2004 à 17:44:42    

pour info, je te rapelle que si je met le if ($action =="ajouter" ) ca marche pas et que si je l'enleve ca marche. donc est ce qu'il faut bien chercher du coté du formulaire etant donné que $action passe bien

Reply

Marsh Posté le 09-10-2004 à 17:46:35    

Met le echo $action juste avant le mysql_close($connexion);

Reply

Marsh Posté le 09-10-2004 à 17:51:16    

mon code source donne toujours pareil :

Code :
  1. <HTML><HEAD></HEAD><BODY>ajouter

Reply

Marsh Posté le 09-10-2004 à 17:56:30    

Il manque un }

Reply

Marsh Posté le 09-10-2004 à 17:58:47    

ou donc?

Reply

Marsh Posté le 09-10-2004 à 18:02:06    

ligne 70 :o  entre la 70 et la 71.

Reply

Marsh Posté le 09-10-2004 à 18:02:13    

ze trouve pas...
pas a la fin de mon code ...j'ai un parse error !
dis moi !!

Reply

Marsh Posté le 09-10-2004 à 18:03:33    

Si tu utilisais un VRAI éditeur de code comme jEdit, tu l'aurais obligatoirement vu... :o

Reply

Marsh Posté le 09-10-2004 à 18:04:43    

attentio a écrit :

ze trouve pas...
pas a la fin de mon code ...j'ai un parse error !
dis moi !!


 
ah ben non j'ai revérifié...  :heink:

Reply

Marsh Posté le 09-10-2004 à 18:05:54    

j'ai rajouter un } a la fin de mon code et G un parse error
ligne 70

Reply

Marsh Posté le 09-10-2004 à 18:06:20    

Au fait que ce passe-t-il EXACTEMENT quand tu ne mets pas le if(truc...

Reply

Marsh Posté le 09-10-2004 à 18:06:54    

attentio a écrit :

j'ai rajouter un } a la fin de mon code et G un parse error
ligne 70


 
non, j'ai mal compté, j'ai fait un copier coller dans jEdit, et il ne manque pas de }

Reply

Marsh Posté le 09-10-2004 à 18:08:21    

:pt1cable:

Reply

Marsh Posté le 09-10-2004 à 18:08:59    

Hermes le Messager a écrit :

Au fait que ce passe-t-il EXACTEMENT quand tu ne mets pas le if(truc...


 
Répond à ça.
 
Que renvoie ta page html ?

Reply

Marsh Posté le 09-10-2004 à 18:15:14    


en même temps si t'indentais ton code il n'y aurait aucun risque de ce côté là :sweat:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 09-10-2004 à 18:47:32    

et bien si je ne met pas le if tout marche a merveille (la requete se passe bien et l'upload se fait).mais j'en ai besoin etant donne que j'ai trois actions ajouter, modifier, supprimer)

Reply

Marsh Posté le 09-10-2004 à 18:50:17    

attentio a écrit :

et bien si je ne met pas le if tout marche a merveille (la requete se passe bien et l'upload se fait).mais j'en ai besoin etant donne que j'ai trois actions ajouter, modifier, supprimer)


 
oui mais QUEL HTML RENVOYE ???

Reply

Marsh Posté le 09-10-2004 à 18:54:32    

Code :
  1. <HTML><HEAD></HEAD><BODY>
  2. ajouter
  3. <br>
  4. <br>
  5. <A HREF="index.php" class="lien">Retour</A>
  6. </BODY>
  7. </HTML>

Reply

Marsh Posté le 09-10-2004 à 19:00:15    

enlève le onsubmit juste pour voir...

Reply

Marsh Posté le 10-10-2004 à 14:49:40    

... C la meme chose   :(

Reply

Marsh Posté le 10-10-2004 à 23:45:29    

[:shurik_tt_bis]  
C'est originale ça de définir une fonction après l'avoir appelé.
Je sais que PHP est permissif mais ça fait peur là :o


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 10-10-2004 à 23:47:22    

Sinon en faisant le echo $action dans le if, ça te l'affiche ou pas?


---------------
HAHAHA I M USING TEH INTERNET
Reply

Marsh Posté le 11-10-2004 à 08:42:39    

dans le if, et bien ca me l'affiche, mais toujours pas le reste de mon code html

Reply

Marsh Posté le 11-10-2004 à 09:34:24    

le probleme vient de :

Code :
  1. if(file_exists($_FILES['photo_collection']['tmp_name']))//on verifie que l'image existe bien dans le dossier TMP du serveur
  2. {
  3. //verification de l'extension et de la taille en octets
  4. if($_FILES['photo_collection']['size']>60000)
  5. {
  6.  if($_FILES['photo_collection']['size']<1000000)//limitation de la taille à 1mo...
  7.  {
  8.   @copie($_FILES['photo_collection']['tmp_name'],$nom);
  9.  }
  10.  else
  11.  {
  12.   echo"La taille de l'image est trop importante.";
  13.  }
  14. }
  15. else
  16. {
  17.  //pas besoin de recadrer/compresser l'originale
  18.  @copie($_FILES['photo_collection']['tmp_name'],$nom);
  19. }
  20. }


qui se trouve dans mon if.si je vire ce bout de code tout remarche et j'arrive a recuperer la fin de mon code html. :pt1cable: je comprends pas pourquoi, comment puis je faire ... :??:  
 
merci de votre aide


Message édité par attentio le 11-10-2004 à 09:44:46
Reply

Marsh Posté le 11-10-2004 à 09:52:57    

Rajoute à la fin de ce passage :  
 
else
{
 echo "DTC";
}
 
Pour voir...

Reply

Marsh Posté le 11-10-2004 à 09:59:59    

non !!! il arrive pas a me l'ecrire

Reply

Marsh Posté le 11-10-2004 à 10:02:58    

Ok, à la place de :
 
# else
#     {
#         //pas besoin de recadrer/compresser l'originale
#         @copie($_FILES['photo_collection']['tmp_name'],$nom);
#     }
 
met :  
 
else
{
 echo "DTC";
}

Reply

Marsh Posté le 11-10-2004 à 10:03:54    

Et enlève les @ qui empêche php d'afficher les erreurs... :o

Reply

Marsh Posté le 11-10-2004 à 10:06:56    

toujours rien  :??:

Reply

Marsh Posté le 11-10-2004 à 10:08:07    

Hermes le Messager a écrit :

Et enlève les @ qui empêche php d'afficher les erreurs... :o


 
FAIT CA !  :o

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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