Uploader une image dans un formulaire (bouton "parcourir")

¿comment ça marche? Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   -  
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'ai fait un livre d'or avec un formulaire tout simple, en html. Le formulaire est envoyé à une page "send.php", qui envoie un mail avec le contenu de formulaire. voici le code du fichier :

<?php

$TO = "********@gmail.com";

$h  = "From: " . $TO;

$message = "";

while (list($key, $val) = each($_POST)) {
  $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.**********.com/Livredor/merci.html");

?>


jusque là, tout va bien. Mais j'aimerais aussi que les gens puissent joindre une photo au message (avec un bouton "parcourir") : dans ce cas, je ne sais pas du tout comment faire... que faut-il ajouter ?

D'avance, merci.
A voir également:

3 réponses

ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Salut,

tu trouveras tes réponses ici : https://openclassrooms.com/fr/courses
0
¿comment ça marche? Messages postés 168 Date d'inscription   Statut Membre Dernière intervention   14
 
Merci pour ta réponse rapide. Mais quand je clique sur le bouton "envoyer", le script est censé m'envoyer un mail avec les infos du formulaire, et, d'après ce que j'ai compris, mettre les images dans un répertoire sur le serveur : malheureusement, je ne reçois aucun message ni ne vois les images envoyées. voici ce que j'ai fait :

<?php

$TO = "**********@gmail.com";

$h  = "From: " . $TO;

$message = "";

while (list($key, $val) = each($_POST)) {
  $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.***********.com/Livredor/merci.html");

?>

<?php
if ($_FILES['image']['error'] > 0) $erreur = "Erreur lors du transfert";
?>
<?php
if ($_FILES['image']['size'] > $maxsize) $erreur = "Le fichier ne doit pas dépasser 5Mo.";
?>

<?php
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
//1. strrchr renvoie l'extension avec le point (« . »).
//2. substr(chaine,1) ignore le premier caractère de chaine.
//3. strtolower met l'extension en minuscules.
$extension_upload = strtolower(  substr(  strrchr($_FILES['image']['name'], '.')  ,1)  );
if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte";
?>

<?php
//Créer un dossier 'fichiers/1/'
  mkdir('imageslivredor/1/', 0777, true);
?>

<?php
$nom = "avatars/{$Nom}.{$extension_upload}";
$resultat = move_uploaded_file($_FILES['image']['tmp_name'],$nom);
if ($resultat) echo "Transfert réussi";
?>


y a t-il une erreur quelque part ? (je précise que je n'y connais pas grand chose au PHP...)
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
Tu n' as pas tout mis la, deja en debut de ton formulaire tu dois avoir ceci:

<form method="POST" action="xxxx.php" enctype="multipart/form-data">



Si tu n'as pas enctype="multipart/form-data" tu n'enverras aucun fichier.

Ensuite a tu créés le dossier de récéption du fichier?


met un or die (mysql_error()) à la fin de ta requezte pour savoir d'ou vient le probleme sinon tu ne le sauras jamais.

0