Récupération dans un formulaire une photo : [résolu]

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Récupération dans un formulaire une photo : [résolu]

Re: Récupération dans un formulaire une photo : impossible

par chero9000kee » 14 juin 2011, 22:23

Merci beaucoup pour votre aide, mais mon problème est résolu.

J'avais en même temps que sur ce forum posté sur PHP Codes Sources voici le lien pour ceux que sa intéresse :

http://www.phpcs.com/forum/sujet-RECUPE ... 29879.aspx

Re: Récupération dans un formulaire une photo : impossible

par Ryle » 14 juin 2011, 18:38

Ca ne fonctionne toujours pas.
C'est pas suffisant, mais c'est quand même mieux :)

Ensuite, le problème vient probablement du fait que tu envois les données de ton formulaire (photo y compris) vers modifier_valider.php, mais que dans ce script, tu ne gères que l'enregistrement en base et pas l'upload du fichier (traitement qui se trouve dans le premier script ?)

Re: Récupération dans un formulaire une photo : impossible

par chero9000kee » 14 juin 2011, 17:41

en faisant un seul input :
echo  ' <input type="file" value='.$photo.' name="Photo" class="form" >
Ca ne fonctionne toujours pas.

Re: Récupération dans un formulaire une photo : impossible

par Mazarini » 14 juin 2011, 16:28

Bonjour,
echo  ' <input type="file" value='.$photo.' name="Photo" class="form" >
                  <input type="hidden" value='.$photo.' name="Photo" class="form" />
2 inputs avec le même name, ca ne marche pas.

Récupération dans un formulaire une photo : [résolu]

par chero9000kee » 14 juin 2011, 15:15

Bonjour à tous et merci d'avance pour votre aide.
Je tiens à préciser que sa fait 3 jours que j&#8217;essaie d'envoyer (uploader) une Photo en local, j'arrive à le faire avec mon fichier upload.php mais pas en l'intégrant dans mon formulaire.
J'ai fait de nombreux test et recherche sur différents forum, mais je n'y arrive toujours pas.

J'ai un formulaire avec les variables : nom, adresse, CP, Ville etc ... et Photo que j'envoie dans une base MySQL.
Ça fonctionne bien, mais pas le transfert de la "Photo".

J'ai 2 fichiers

1). modifier.php
<?php
    echo '<form action="modifier_valider.php?Photo='.$photo.'" method="POST" class="form" enctype="multipart/form-data" />';

echo "<table align='center' class='liste'>";
           echo "<tr>";
                echo "<td>Num identifiant</td>";
                echo "<td>" . $id ."</td>";
           echo "</tr>";
           echo "<tr>";
	       		echo "<td>Num</td>";
                echo "<td><input type='text' value='$num_adresse' name='num_adresse'></td>";
           echo "</tr>";
           echo "<tr>";
	       		echo "<td>Adresse</td>";
                echo "<td><input type='text' value='$adresse' name='Adresse'></td>";
           echo "</tr>";
           echo "<tr>";
	       		echo "<td>CP</td>";
                echo "<td><input type='text' value='$bien_cp' name='CP_bien'></td>";
           echo "</tr>";
           echo "<tr>";
	       		echo "<td>ville</td>";
                echo "<td><input type='text' value='$ville' name='Ville'></td>";
           echo "</tr>";
           echo "<tr>";
                echo "<td>D&eacute;tail</td>";
                echo "<td><input type='text' value='$detail' name='Detail'></td>";
           echo "</tr>";
           echo "<tr>";
                echo "<td>Sindyc</td>";
                echo "<td><input type='text' value='$str_bien_syndic' name='Syndic_bien'></td>";
           echo "</tr>";
           echo "<tr>";
                echo "<td>Relance</td>";
                echo "<td>\"$date\"</td>";
           echo "</tr>";
           echo "<tr>";
                echo "<td>Photo</td>";
                echo '<td align="center"><img src="vignette/'.$photo.'" width="24" height="18" name="Vignette"  /></td>';
          echo "</tr>";
          echo "<tr>";
                echo "<td>Photo</td>";
          echo "<td>";
          echo  ' <input type="file" value='.$photo.' name="Photo" class="form" >
                  <input type="hidden" value='.$photo.' name="Photo" class="form" />
                   <br /><br />';
                //  $bien_Photo = $_GET['Photo'];
           if (!isset($_GET['Photo'])) {
                  $idir = "photo/";
                  $tdir = "vignette/";
                  $twidth = "50";
                  $theight = "40";
               } else  if (isset($_GET['photo']) && $_GET['photo'] == 'Photo') {
                           $url = $_FILES['Photo']['name'];
                           if ($_FILES['Photo']['type'] == "image/jpg" || $_FILES['Photo']['type'] == "image/jpeg" || $_FILES['Photo']['type'] == "image/pjpeg" ) {
                             $file_ext = strrchr($_FILES['Photo']['name'], '.');

                             $copy = copy($_FILES['Photo']['tmp_name'], "$idir" . $_FILES['Photo']['name']);
                             if ($copy) {
                               print ' L\'image a été téléchargé avec succès.<br />';   // A réussi à télécharger l'image
                               $simg = imagecreatefromjpeg("$idir" . $url);
                               $currwidth = imagesx($simg);
                               $currheight = imagesy($simg);
                               if ($currheight > $currwidth) {
                                  $zoom = $twidth / $currheight;
                                  $newheight = $theight;
                                  $newwidth = $currwidth * $zoom;
                               } else {
                                 $zoom = $twidth / $currwidth;
                                 $newwidth = $twidth;
                                 $newheight = $currheight * $zoom;
                               }
                               $dimg = imagecreate($newwidth, $newheight);
                               imagetruecolortopalette($simg, false, 256);
                               $palsize = ImageColorsTotal($simg);
                               for ($i = 0; $i < $palsize; $i++) {
                                $colors = ImageColorsForIndex($simg, $i);
                                ImageColorAllocate($dimg, $colors['red'], $colors['green'], $colors['blue']);
                               }
                               imagecopyresized($dimg, $simg, 0, 0, 0, 0, $newwidth, $newheight, $currwidth, $currheight);
                               imagejpeg($dimg, "$tdir" . $url);
                               imagedestroy($simg);
                               imagedestroy($dimg);
                               print 'La vignette a été créé avec succès.';   // Redimensionnement réussi
                             } else {
                               print '<font color="#FF0000"> ERREUR: Impossible de télécharger l\'image. </font>';   // Message d'Erreur lors d'un Échec du transfert du fichier
                             }
                           } else {
                             print '<font color="#FF0000">ERREUR: Mauvais Type de fichier (vérifiez que le format (l\'extention) soit en .jpg ou .jpeg ou .png . ';   // Message d'erreur si le Type de fichier est Mauvais
                             print $file_ext;
                             print '.</font>';
                           }
                          }
           echo "</tr>";

		   echo "<tr>
                <td>Notes</td>
                <td><textarea type='longtext' style='width:320px; height:150px;' heigth='30' width='50' cols='1' rows='1' value='$notes' name='notes'/></textarea></td>
                </tr>";
           echo "<tr>";
	       		echo "<td>Actions</td>";
                echo "<td>";
			    echo '<input type="submit" value="Modifier" class="form"  />';
			    echo "</td>";
	       echo "</tr>";
echo "</table>";

	      		echo "<input type='hidden' value=".$id." name='id'>";

    echo "</form>";

  ?>
2). modifier_valider.php
<?php
// ACCES A LA BASE DE DONNEE
include "config.php";

// Rendre la base de données foo, la base courante
 $db_selected = mysql_select_db($sql_bd, $sqllink);
 if (!$db_selected) {
    die ('Impossible de sélectionner la base de données : ' . mysql_error());
    }
        $id= $_GET['id'];
	       $num_adresse = $_POST['num_adresse'];
	       $adresse = $_POST['Adresse'];
	       $cp = $_POST['CP'];
	       $ville = $_POST['Ville'];
           $detail = $_POST['Detail'];
           $notes = $_POST['notes'];
           $date = $_POST['date'];
           $photo = $_POST['Photo'];
           $prop_ID = $_POST['prop_ID'];

			$sql_query = "UPDATE $sql_tbb SET
						num_adresse='".$num_adresse."',
						Adresse_bien='".$adresse."',
						CP='".$cp."',
						Ville='".$ville."',
                        Detail='".$detail."',
                        notes='".$notes."',
                        date='".$date."',
						Photo='".$photo."',
                        prop_ID='".$prop_ID."'
                        WHERE id='".$id."' ";

$result = mysql_query($sql_query);
if (!$result) {
	   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
	      exit;
}
else {
	echo 	"Le bien a été mis a jour $sql_query ";
}
echo "l'image ".$photo." a bien été récupéré . ";

echo    '<a href="detail.php?id='.$id.'">retour</a>';

mysql_close($sqllink);
?>