Accueil > Forum > > > > Récupération un formulaire avec une photo : impossible
Récupération un formulaire avec une photo : impossible
mardi 14 juin 2011 à 13:00:40 |
Récupération un formulaire avec une photo : impossible

chero9000kee
|
Bonjour à tous et merci d'avance pour votre aide !!!!!!!!!!
Je tiens à préciser que je suis débutant, et que ça fait 3 jours que j’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
Code 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é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>";
?>
1). modifier_valider.php
Code 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);
?>
|
|
mardi 14 juin 2011 à 17:25:32 |
Re : Récupération un formulaire avec une photo : impossible

cod57
|
Réponse acceptée !
bonjour
gros problème d'organisation du code
bon je te propose
comme j'ai pas ta table
j ai pas pu verifier update
...
a++
modifier.php
Code PHP :
<?php
/*tu peux supprimer cette partie c'est au cas ou undefined ...*/
if(isset($_POST) && count($_POST)>0){
extract($_POST);
}else{
$photo="";
$id="";
$num_adresse="";
$adresse="";
$bien_cp="";
$ville="";
$detail="";
$str_bien_syndic="";
$date="";
$photo="";
$notes="";
}
echo '<form action="modifier_valider.php" 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é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" name="Photo" class="form">';
echo "</td></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>";
?>
modifier_valider.php
Code PHP :
<?php
function redimPhoto($img,$x=125,$y=75){
# L'emplacement de l'image à redimensionner. L'image peut être de type jpeg, gif ou png
$file = $img ;
$size = getimagesize($file);
/*homothetie peu être dévalidée*/
$w=$size[0];
$h=$size[1];
if($h>$w){
$zoom=$x/$h;
$y=$y;
$x=$w*$zoom;
}else{
$zoom=$x/$w;
$x=$x;
$y=$h*$zoom;
}
/*fin homothetie*/
if (isset($size)>0) {
//echo 'Image en cours de redimensionnement...';
if ($size['mime']=='image/jpeg' ) {
//echo 'jpg';
$img_big = imagecreatefromjpeg($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagejpeg($img_mini,$file );
}
elseif ($size['mime']=='image/png' ) {
//echo 'png';
$img_big = imagecreatefrompng($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagepng($img_mini,$file );
}
elseif ($size['mime']=='image/gif' ) {
//echo 'gif';
$img_big = imagecreatefromgif($file); # On ouvre l'image d'origine
$img_new = imagecreate($x, $y);
# création de la miniature
$img_mini = imagecreatetruecolor($x, $y)
or $img_mini = imagecreate($x, $y);
// copie de l'image, avec le redimensionnement.
imagecopyresized($img_mini,$img_big,0,0,0,0,$x,$y,$size[0],$size[1]);
imagegif($img_mini,$file );
}
return $file;
//echo 'Image redimensionnée !';
}else{
return false;
}
//fin function image thumb
}
/*voilà ce que envoi ton formulaire*/
echo '<pre>';
echo '<hr>variables $_GET actuelles<br />';
print_r($_GET);
echo '<hr>variables $_POST actuelles<br />';
print_r($_POST);
echo '<hr>variables $_FILES actuelles<br />';
print_r($_FILES);
echo '</pre>';
/**/
/*ta nouvelle photo si on la change*/
if(isset($_FILES['Photo']['name']) && !empty($_FILES['Photo']['tmp_name'])){
$idir = "photo/";
$tdir = "vignette/";
$err=null;
$file_ext=strrchr($_FILES['Photo']['name'], '.');
/*verification extension*/
if($_FILES['Photo']['type'] == "image/jpg" || $_FILES['Photo']['type'] == "image/pjpeg" || $_FILES['Photo']['type'] == "image/jpeg" ){
$ext = '.jpg';
}
elseif($_FILES['Photo']['type'] == "image/gif"){
$ext = '.gif';
}
elseif($_FILES['Photo']['type'] == "image/png"){
$ext = '.png';
}
else{
$err.="Problème avec extension du fichier";
}
/*un choix de securite*/
/*evitons les problèmes de securité et doublons forçage du nom du fichier*/
//$new = time().$ext;
/*on peut faire un filtre regex ou str_replace pour proteger ...*/
$new = $_FILES['Photo']['name'];
/*copier l'original*/
$copy=copy($_FILES['Photo']['tmp_name'],$file=$idir.$new);
if($copy){
}else{
$err.="Problème avec la copie du fichier";
}
/*creation de la vignette et protection par getimagesize refuse les fichiers pas images*/
if($redim=redimPhoto($_FILES['Photo']['tmp_name'])){
copy($redim,$thumb=$tdir.$new);
}else{
unlink($file);/*efface la photo déjà chargée*/
$err.="Problème avec la vignette du fichier";
}
if($err!=null){
/*il y a des erreurs on previent l'internaute*/
echo '<h3 align="center">'.$err.'</h3>';exit;
}else{
echo 'image copiée et vignette créee<br />';
}
}else{
//aucune photo
}
/*insertion*/
// 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'];
if(isset($new)){
$photo=$new;
//on change image
$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."' ";
}else{
//on change que les champs non image
$sql_query = "UPDATE $sql_tbb SET
num_adresse='".$num_adresse."',
Adresse_bien='".$adresse."',
CP='".$cp."',
Ville='".$ville."',
Detail='".$detail."',
notes='".$notes."',
date='".$date."',
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);
?>
 Bonne programmation !
|
|
mardi 14 juin 2011 à 18:08:19 |
Re : Récupération un formulaire avec une photo : impossible

chero9000kee
|
Réponse acceptée !
Ça ne fonctionne pas quand j'envoie le formulaire vers modifier_valider.php
J'ai le message suivant :
Objet non trouvé!
L'URL requise n'a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
Error 404
Merci beaucoup pour ton aide code57
|
|
mardi 14 juin 2011 à 19:37:12 |
Re : Récupération un formulaire avec une photo : impossible

cod57
|
Réponse acceptée !
as tu sauvegardé
modifier_valider.php
car l'erreur explique que le fichier n'existe pas
donc il faut verifier si modifier.php et valider_modifier.php sont dans le meme repertoire ... chez moi tout fonctionne nickel
 Bonne programmation !
|
|
mardi 14 juin 2011 à 21:11:41 |
Re : Récupération un formulaire avec une photo : impossible

chero9000kee
|
Merci pour ton aide, il y avait une erreur du nom "modifie_valider.php" manque le "r" à modifier_ .
J'arrive enfin a envoyer les images mais mon soucie est que je ne récupère plus le nom de l'image dans ma variable "Photo" : le nom de l'image ne s'écrit plus dans base MySQL.
|
|
mardi 14 juin 2011 à 21:47:29 |
Re : Récupération un formulaire avec une photo : impossible [Résolu]
|
mardi 14 juin 2011 à 22:04:53 |
Re : Récupération un formulaire avec une photo : impossible

chero9000kee
|
Je ne sais comment clôturer le sujet du style : [Résolu] .
|
|
Cette discussion est classée dans : php, image, photo, echo, files
Répondre à ce message
Sujets en rapport avec ce message
Upload d'image par methode POST ... [ par psychoz ]
J'en ai marre !Je cherche a envoyer une photo sur un site ...Je le faisait avec un client ftp, ensuite j'ai utilisé ftp et php ...Et maintenant je vou
Uploader une image avec PHP [ par coolboy78 ]
Bonjourjaimerai uploader une photo, mais cela ne marche pas tellemment, juste avec des photo de petite taille ( comme les ptit smiley de MSN messenger
Comment choisir la couleur de la bordure? [ par Linuss ]
Bonjour à tous, Voilà je viens de "finir" (bah oui entre guillimets, sinon je n'aurais pas de pb avec ^^ et qui n'est, je l'avoue, pas entierement de
Image numérique et php [ par bouffard ]
Bonjour,J'amerais savoir s'il est possible de récupérer à l'écran grâce à un interface en php une image (photo) provenant d'un appareil photo numériqu
2 uploads, ca marche pas [ par k4mik4zi ]
voila j'ai mon script en php pour upload 2 images Mais il upload seulement la premier image et non la deuxieme -------------------------------------
image de va pas dans dossier [ par speedylol ]
<TD id=HB_Focus_Element vAlign=top width="100%" background="" height=250 UNSELECTAB
Image GD et php ! prob d'affichage [ par riecola ]
Bonjour tout le monde. Voilà mon problème : mon utilisateur selectionne une image et un texte au choix dans un formulaire ensuite une page s'ouvre et
UPLOAD IMAGES [ par sebalex ]
Salut à tous, Voilà, j'ai repris un code pour l'upload d'image sur ce forum et tout fonctionne. Le problème est que je souhaite que l'image uploadée s
upload d'image [ par gaillardo ]
Bonjour à tous,J'ai un petit probleme d'upload qui fonctionne avec des images de 3ko alors qu'avec une image de 6ko j'ai l'erreur 2 qui est la suivant
redimensuinnement image envoyée par flash [ par camdev ]
Bonjour, je suis en train créer un site en flash, où on pourra à un moment envoyé une photo vers le site, et qui s'affichera ensuite à l'écran. j'ai
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|