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.
    0
    1. Modérateur
      Bonjour,

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

       ?> 

      0
      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>
        
        0
    2. Modérateur
      Oui.
      Mais bon... pas besoin de mettre les quotes autour de ta variable.
      echo "$form";
      

      s'écrit :
      echo $form;
      

      0
      1. Modérateur
        Au passage....
        la balise <title> est utilisée dans le HEAD de ton document ...
        La mettre ici n'a aucun sens !
        0
    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>
      0
      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
        ?>
        
        0
      2. J'ai oublié désolé^^
        J'ai une erreur dans la ligne "12"
        if(move_uploaded_file($tmp_name, "images/".$name)){
        0
      3. Modérateur
        @lynda789456une erreur ? Laquelle ?? ( son texte complet ! )
        0
      4. L'erreur est dans la ligne 12, et il m'affiche:Error : move_uploaded_file^
        ^^
        0
      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)
        0