je souhaite créer un formulaire fiche personne dans lequel figure un espace pour parcourir et charger l'image de la personne à partir d'un emplacement. comment faire ça en HTML et PHP:cry:
Version imprimable
je souhaite créer un formulaire fiche personne dans lequel figure un espace pour parcourir et charger l'image de la personne à partir d'un emplacement. comment faire ça en HTML et PHP:cry:
bonjour!
tu peut essayer avec ça
pour la zone de ton imageCode:<input name="image" type="file" class="program-neufs" size="15" enctype="multipart/form-data">
merci pour la réponse, mais ce que je veux il ressemble à l'image ci-dessous
Pièce jointe 43610
Bonjour,
Qu'est ce qui te bloque dans la réalisation de ton formulaire ?
ce qui me bloque est comment charger une image à partir d'un emplacement et l'afficher dans la zone approprie pour la stoker en suite dans une base de donnée mysql. est ce que je doit utiliser PHP et HTML? je suis encore débutante en PHP.
Si par "emplacement" tu entends l'ordi d'un visiteur alors tu trouveras ttes les infos nécessaire ici : http://fr.php.net/file-upload
Pas de difficulté particulière, sauf si tu veux éventuellement la redimensionner, alors dans ce cas : http://fr.php.net/image et notamment http://fr.php.net/imagecopyresampledCitation:
et l'afficher dans la zone approprie
Il vaut mieux stocker la référence vers le fichier image plutôt que l'image elle-même. On peut même souvent faire sans BdD, à voir.Citation:
pour la stoker en suite dans une base de donnée mysql.
Oui, le PHP est nécessaire au traitement de l'upload.Citation:
est ce que je doit utiliser PHP et HTML?
On est là pour t'aider, mais il faut définir clairement ce que tu veux faire ;)Citation:
je suis encore débutante en PHP.
je veux que lorsque un utilisateur clique sur le bouton charger une image il aura la main de choisir un emplacement et ouvrir l'image (comme la bouton parcourir) puis cette dernière s'affiche automatiquement dans la zone image voir Pièce jointe 43625
Si par "automatiquement" tu veux dire sans rechargement de la page, ce n'est pas possible en PHP seul.
Il faut passer par Ajax.
Commence peut etre plutot par un schéma classique : formulaire - traitement du fichier - affichage.
Quand tu seras a l'aise avec cela, tu pourras ameliorer ton ergonomie en ajoutant de l'Ajax.
Dans ton form principal tu mets ça :
fichier pers_foto.php : qui va chercher la photo en bdd si elle existeCode:
1
2
3
4
5 <div valign="middle"><td class='<?php echo couleur_alternee (); ?>' onmouseover="setTimeout('window.location.reload()', 2000);"><?php echo $lang_foto ; ?></td> <td class='<?php echo couleur_alternee (FALSE); ?>' ><div align = "left"><img src='pers_foto.php?id=<?php echo $pers_id ?>' style="width:78px;height:96px" id="pers_foto" onclick="window.open('pers_image_change.php?pers_id=<?php echo $pers_id; ?>&prenom=<?php echo $prenom ;?>&nom=<?php echo $nom ;?>','Changement','width=550,height=120,scrollbars=0').focus();" onmouseover="setTimeout('window.location.reload()', 2000);"> </td>
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 require_once("include/verif.php"); include_once("include/config/common.php"); $id = $_GET['id']; // On récupère l'image $req = ("SELECT pers_foto,pers_type FROM ".$tblpref."personnel Where pers_id = $id"); $ret = mysql_query ($req) or die (mysql_error ()); $col = mysql_fetch_row ($ret); if ( !$col[0] ) { echo "Logo Inconnu"; } else { header ("Content-type: ".$col[1]); echo $col[0]; } ?>
fichier pers_image_change.php : qui permet de modifier ou enregistrer une image en bdd
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <?php include_once("include/config/common.php"); $pers_nom = $_GET['nom']; $pers_prenom = $_GET['prenom']; $pers_id = $_GET['pers_id']; ?> <html> <head> <title>Modifier la photo</title> </head> <body> <?php if ( isset($_FILES['fic']) ) { $ret = false; $img_blob = ''; $img_taille = 0; $img_type = ''; $img_nom = ''; $taille_max = 250000; $ret = is_uploaded_file ($_FILES['fic']['tmp_name']); if ( !$ret ) { echo "Problème de transfert"; return false; } else { // Le fichier a bien été reçu $img_taille = $_FILES['fic']['size']; if ( $img_taille > $taille_max ) { echo "Trop gros !"; return false; } //echo "bakkjagjk $pers_id $tblpref "; $img_type = $_FILES['fic']['type']; $img_nom = $_FILES['fic']['name']; $img_blob = addslashes ($img_blob); $img_blob = file_get_contents ($_FILES['fic']['tmp_name']); $req = 'UPDATE '.$tblpref.'personnel set pers_taille="'.$img_taille.'",pers_type="'.$img_type.'",pers_foto="'.addslashes ($img_blob).'" where pers_id="'.$pers_id.'"'; $ret = mysql_query ($req) or die (mysql_error ()); return true; } } ?> <h3>MODIFIER LA PHOTO DE <?php echo "$pers_prenom $pers_nom "; ?></h3> <form enctype="multipart/form-data" action="#" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="250000" /> <input type="file" name="fic" size=50 /> <br><input type="submit" value="Envoyer" onmouseover="setTimeout('self.close()', 3000);"/></br> </form> </body> </html>