begin process at 2012 05 31 12:03:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Upload d'image et copie dans champ d'un formulaire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Upload d'image et copie dans champ d'un formulaire

lundi 18 mai 2009 à 01:33:38 | Upload d'image et copie dans champ d'un formulaire

golant

Bonsoir,

Novice en PHP, je me retrouve actuellement face à un problème liés à l'Upload d'image sur mon serveur et sauvegarde de l'URL dans une bdd. Je vous explique.
Je suis en train de réaliser une interface de CMS (gestion de contenu) par laquelle l'utilisateur pourra notamment rentrer une news pour son site. Les données rentrées sont stockées sur une table mysql avec les champs suivant : id - date - titre - texte - photo. Le champ photo est censé contenir l'url d'une image stockée sur mon serveur. (Je n'ai pas choisi la solution du stockage de la photo sous forme binaire dans ma table car trop lourd.)

Ma page contient un formulaire contenant les champs date - titre - texte - photo.
Lors de la validation du formulaire, il envoie tout sur ma table. Jusque là tout fonctionne.
Mon problème concerne ce champ photo. J'ai ajouté à coté de ce champ une icone renvoyant à une pop-up permettant à l'utilisateur d'uploader l'image depuis son ordinateur. L'upload fonctionne correctement.
Je voudrais juste que, après l'upload, le nom de l'image ou même l'url complete de l'image se mette dans le champ "photo" de mon formulaire. Je ne sais pas faire cela.
Actuellement, j'affiche les données relatives à la photo uploadée dans la Pop-up et l'utilisateur doit copier et coller manuellement le nom de l'image dans le champ "photo" du formulaire.
Vous me suivez ? En fait, il faudrait que directement après l'upload, mon champ se remplisse automatiquement lorsque je ferme ma pop-up.

Si vous pouviez m'aider ça serait vraiment sympa  !

voilà mon code :

mon formulaire d'ajout : add.php


<?php
if (isset($HTTP_POST_VARS)) {
include("base.inc.php");
@mysql_connect ($server, $login, $password)
  or die ("Erreur : connexion a la base de donnees impossible");
@mysql_select_db($base)
  or die ("Erreur : pas de base de donnees ".$base);
 $add_query = "INSERT INTO news ";
 $k = 0;
  while(list($variable, $value) = each($HTTP_POST_VARS)) {
  //make the query
   if ($k) {
    $left_query .= ", $variable";
    $right_query .= ", '$value'";
   } else {
    $left_query = "($variable";
    $right_query = "('$value'";
   }
  $k++;
  }
$add_query .= $left_query.") VALUES ".$right_query.")";
$result_query = mysql_query ($add_query);
mysql_close();
}
?>
<html>
<head>
<title>add page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.Style1 {font-family: "Trebuchet MS"}
.Style4 {font-size: small; color: #666666; }
-->
</style>
</head>
<body bgcolor="#FFFFFF">
<center>
<form name="add" action="add.php" method="post">
<table>
 <tr>
  <td><input type="text" name="date" readonly="readonly">   
    <span class="Style1">Date <span class="Style4">(cliquez sur l'icone pour ajouter <a href="#" onClick=" window.open('pop.php?frm=add&ch=date','calendrier','width=350,height=160,scrollbars=0').focus();"><img src="petit_calendrier.gif" width="14" height="17" border="0"/></a> )</span></span></td>
 </tr>
 <tr>
  <td><input type="text" name="titre">
    <span class="Style1">Titre de la News</span></td>
 </tr>
 <tr>
  <td><input type="text" name="texte">
    <span class="Style1">Contenu de la News</span></td>
 </tr>
 <tr>
  <td><input name="photo" type="text" value="nomdelimage.jpg">   
    <span class="Style1">Nom de l'image <span class="Style4">(cliquez sur l'icone pour charger une image  <a href="#" onClick=" window.open('upload.php?frm=add&ch=photo','calendrier','width=350,height=350,scrollbars=0').focus();"><img src="petit_appareil.gif" width="21" height="17" border="0"></a>)</span></span></td>
 </tr>
 <tr>
  <td><input type="submit" value="Ajouter cette News"></td>
 </tr>
</table>
 </form>
</center>
</body>
</html>


ma pop-up de téléchargement : upload.php

<?php

$target     = '../../../images/uploads/';
$extension  = 'jpg';
$max_size   = 100000;
$width_max  = 100;
$height_max = 100;

$nom_file   = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];

?>

<html>
<head>
<title>Pop-Up d'Upload</title>
<style type="text/css">
<!--
.Style1 {
 font-family: "Trebuchet MS";
 font-weight: bold;}
.Style2 {font-family: "Trebuchet MS";}
.Style3 {font-size: small; color: #666666; }
}
-->
</style>
</head>
<body>
<p>
  <?php
if(!empty($_POST['posted'])) { 
        if(!empty($_FILES['fichier']['name'])) { 
        if(substr($nom_file, -3) == $extension) { 
            $infos_img = getimagesize($_FILES['fichier']['tmp_name']); 
                   if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) { 
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) { 
                    echo '<b>Image uploadée avec succès !</b';
                    echo '<hr />';
                    echo '<img src="images/uploads/'.$_FILES['fichier']['name'].'" alt="" /><br />';
     echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />';
     echo '/!\ copiez ce nom et collez le ensuite dans le champ NOM DE LIMAGE du formulaire /!\ <br />';
                    echo '<b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br />';
                    echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />';
                    echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />';
                    echo '<hr />';
                    echo '<br /><br />';
                } else { 
                    echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />';
                }
            } else { 
                 echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />';
            }
        } else { 
            echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />';
        }
    } else { 
        echo '<b>Le champ du formulaire est vide !</b><br /><br />';
    }
}
?>
</p>
<p class="Style1">Envoyer le fichier :</p>
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
                        <input type="hidden" name="posted" value="1" />
            <input name="fichier" type="file" />
            <input type="submit" value="Uploader" />
</form>
</body>
</html>

mardi 19 mai 2009 à 16:04:42 | Re : Upload d'image et copie dans champ d'un formulaire

golant

Up ! Personne ne peut m'aider ?
jeudi 24 septembre 2009 à 10:03:17 | Re : Upload d'image et copie dans champ d'un formulaire

golant

Réponse acceptée !

C'est résolu, en fait, si ça intéresse quelqu'un, c'est en javascript qu'il faut s'y prendre...

Voilà la fonction :

<script language='javascript'>
function afficher()
{
val=document.form_fichier.nom_fichier.value;
// alert(val);
window.opener.document.add.elements["photo"].value = val;
window.close();

}
</script>

Et voilà le formulaire dans lequel vous devez récupérer le nom de l'image (via php après upload) :

<form name="form_fichier">
<input type="hidden" name="nom_fichier" readonly="readonly" value="',$_FILES['fichier']['name'],'"/>
<input type="button" value="Valider cette image" onClick="afficher();">
</form>


Lors du click sur "valider cette image", on ferme la pop-up et on sauvegarde le nom de l'image téléchargée pour le mettre dans le champ "photo" du formulaire (ici add.php) qui sera envoyé.

Ensuite, pour l'affichage, on récupère le nom de l'image dans la base et, connaissant le dossier d'upload, on peut facilement l'afficher !



Cette discussion est classée dans : fichier, image, champ, query, echo


Répondre à ce message

Sujets en rapport avec ce message

Mise en commun de plusieurs fonctions ... je sais plus quoi faire [ par Nownow ] Voilà ... j'ai 4 scripts : un pour uploader une image, l'autre pour la redimensionner correctement, un script d'affichage et enfin le formulaire dans comment supprimer un fichier d'un repertoire [ par juliacom ] Bonjour à tous je suis de nouveau de retour j'aimerai savoir comment supprimer un fichier d' un répertoireex image.jpg du répertoire photosje sais qu' comment recuperer dans une variable resultat d'un upload ? [ par fredericmaill ] Bonjour, je fais un upload d'une image et j'aimerais savoir comment recuper dans une variable l'image que j'ai uploadé. car je dois la passer en para Afficher image PHP [ par nico10gbb ] Bonjour à tous et meilleurs voeux en avance pour 2006 ! Voila le bout de code qui me psoe probleme : $fichier=$_GET['fichier']; $categorie=$_GET['ca Move_uploaded_file probleme avec le nom du fichier uploader [ par needle ] Salut à tous,j'avais fait un page d'upload de photos qui marchait nickel et j'avais pris la précaution de n'autoriser, pour le nouveau nom de la photo upload debutant [ par thrmgs ] bonjour a tous j aimerai savoir comment puije uploader dans un repertoire predefinit par moi meme (par exemple: c:\image\foto.jpg) a l aide de se scri 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 remplacer caractere affiché par une variable dans "echo" [ par pipouz ] bonsoir a tousalors voila, j'ai un code permettant l'envoi de fichier sur un serveur, et me donnant le lien de se fichier , une fois uploadermais je v un if dans un echo contenu dans une boucle [ par skull21 ] Bonjour,je récupère dabord les données de la base :  // Mise en variables simples des informations existantes de la fiche$image_cellule    = $donnees[ compteur graphique de visites [ par lecocq17137 ] Bonjour J'ai trouvé le programme ci-dessous qui m'irait très bien pour compter les visites et les afficher, mais il compte les pages vues L'auteur est


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 8,720 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales