Erreur

lynda789456 Messages postés 245 Statut Membre -  
lynda789456 Messages postés 245 Statut Membre -
<?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. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    Normal, le code HTML doit être endehors de balises PHP.
    0
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

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

     ?> 

    0
    1. lynda789456 Messages postés 245 Statut Membre
       
      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
  3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Oui.
    Mais bon... pas besoin de mettre les quotes autour de ta variable.
    echo "$form";
    

    s'écrit :
    echo $form;
    

    0
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      Au passage....
      la balise <title> est utilisée dans le HEAD de ton document ...
      La mettre ici n'a aucun sens !
      0
  4. lynda789456 Messages postés 245 Statut Membre
     
    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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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. lynda789456 Messages postés 245 Statut Membre
       
      J'ai oublié désolé^^
      J'ai une erreur dans la ligne "12"
      if(move_uploaded_file($tmp_name, "images/".$name)){
      0
    3. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > lynda789456 Messages postés 245 Statut Membre
       
      une erreur ? Laquelle ?? ( son texte complet ! )
      0
    4. lynda789456 Messages postés 245 Statut Membre
       
      L'erreur est dans la ligne 12, et il m'affiche:Error : move_uploaded_file^
      ^^
      0
    5. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > lynda789456 Messages postés 245 Statut Membre
       
      Ah 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