Erreur

<?php
echo "<title>PHP File Upload</title>";
$form = "<form action='index.php' method='POST' enctype='multipart/form-data'>";
<table>
<tr>
   <td>  <input type='file' m=name='myfile'></td> 
</tr>
<tr>
   <td>  <input type='submit' m=name='submitbutton' value='submit'></td> 
</tr>
</table>
</form>";

echo "$form";
?>

SVP ils me disent que j'ai une erreur dans la ligne 4, vous pouvez me la corriger svp^^
Cordialement

4 réponses

  1. Modérateur
    Normal, le code HTML doit être endehors de balises PHP.
    1. Modérateur
      Bonjour,

      regarde bien ton code ....
      n'aurais tu pas oublié de fermer ta balise php ??

       ?> 

      1. Vous avez raison Jordane, peut étre la fermeture de la balise html qui a fait une erreur,
        J'ai mis le code comme ça, c correct normalement ?
        <?php
        echo "<title>PHP File Upload</title>";
        $form = "<form action='index.php' method='POST' enctype='multipart/form-data'>";
        echo "$form";
        ?>
        <table>
        <tr>
           <td>  <input type='file' name='myfile'></td> 
        </tr>
        <tr>
           <td>  <input type='submit' name='submitbutton' value='submit'></td> 
        </tr>
        </table>
        </form>
        
    2. Modérateur
      Oui.
      Mais bon... pas besoin de mettre les quotes autour de ta variable.
      echo "$form";
      

      s'écrit :
      echo $form;
      

      1. Modérateur
        Au passage....
        la balise <title> est utilisée dans le HEAD de ton document ...
        La mettre ici n'a aucun sens !
    3. Jordane j'ai un autre souci :'(
      J'ai créé un dossier temporaire pour stocker les images uploader, mais il me stocke juste une seule image qui s'affiche toujours à coté du Your image has been uploaded :'(
      <?php
      echo "<title>PHP File Upload</title>";
      $form = "<form action='index.php' method='POST' enctype='multipart/form-data'>";
      if ($_POST['submitbutton'])
      {
          $name = $_FILES['myfile']['name'];
      	$type = $_FILES['myfile']['type'];
      	$size = $_FILES['myfile']['size'];
      	$tmpname = $_FILES['myfile']['tmp_name'];
      	$ext = substr($name, strrpos($name, '.'));
      	
      	if(strstr($type, "image")) 
      	{
      	   move_uploaded_file($tmp_name, "images/".$name);
      	   echo "Your image has been uploaded";
      	}
      	else
      	   echo "That is not an image.";
      	echo "$name <br> $type <br> $size <br> $tmpname";
      }
      else
           echo "$form";
      ?>
      <table>
      <tr>
         <td>  <input type='file' name='myfile'></td> 
      </tr>
      <tr>
         <td>  <input type='submit' name='submitbutton' value='submit'></td> 
      </tr>
      </table>
      </form>
      1. Modérateur
        Autre souci = nouvelle discussion normalement ( ce n'est pas la première fois qu'on te le dit........)
        Mais bon...

        Essaye ça :
        <?php
        echo "<title>PHP File Upload</title>"; 
        
        if ($_POST['submitbutton']){
          $name = $_FILES['myfile']['name'];
          $type = $_FILES['myfile']['type'];
          $size = $_FILES['myfile']['size'];
          $tmpname = $_FILES['myfile']['tmp_name'];
          $ext = substr($name, strrpos($name, '.'));
         
          if(strstr($type, "image")) {
             if(move_uploaded_file($tmp_name, "images/".$name)){
                echo "Your image has been uploaded";
             }else{
                echo "Error : move_uploaded_file";
             }
          }else{
             echo "That is not an image.";
             echo "$name <br> $type <br> $size <br> $tmpname";
          }
        } else {
        ?>
           <form action='index.php' method='POST' enctype='multipart/form-data'>
            <table>
             <tr>
              <td>  <input type='file' name='myfile'></td> 
             </tr>
             <tr>
              <td>  <input type='submit' name='submitbutton' value='submit'></td> 
             </tr>
            </table>
          </form>
        <?php
        } //fin du else
        ?>
        
      2. J'ai oublié désolé^^
        J'ai une erreur dans la ligne "12"
        if(move_uploaded_file($tmp_name, "images/".$name)){
      3. Modérateur
        @lynda789456une erreur ? Laquelle ?? ( son texte complet ! )
      4. L'erreur est dans la ligne 12, et il m'affiche:Error : move_uploaded_file^
        ^^
      5. Modérateur
        @lynda789456Ah mais non !
        Ce n'est pas une erreur dans le code ........ c'est le message d'erreur qui apparait PAR CE QU'IL n'a pas réussi à déplacer l'image justement .....
        Peut être un souci de droits sur le répertoire de déstination...

        Tu peux ajouter un peu de debug à ton code pour essayer de trouver la cause de l'erreur..

        Par exemple :
        if(move_uploaded_file($tmp_name, "images/".$name)){
                echo "Your image has been uploaded";
             }else{
                echo "Error : move_uploaded_file";
                echo " file path :"  . "images/".$name ;
                echo " tmp_name : ".$tmp_name;
             }
        
        


        En faisant cela ... tu verras que tmp_name ... est VIDE !
        En effet, dans tes lignes de code au dessus... la variable se nomme : $tmpname (sans espace ni underscore)