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![]()
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![]()
bonjour!
tu peut essayer avec ça
pour la zone de ton image
Code : Sélectionner tout - Visualiser dans une fenêtre à part <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
![]()
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/imagecopyresampledet 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.pour la stoker en suite dans une base de donnée mysql.
Oui, le PHP est nécessaire au traitement de l'upload.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 faireje 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![]()
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 existe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Partager