Formulaire d'envoi d'image

Fermé
cleminuite - 14 avril 2010 à 09:03
Bonjour, je suis très débutant en php et je suis entrain de créer un site internet. Je voudrais que les internautes ajoutent des images à partir d'un formulaire sur mon site. Mon problème c'est que je n'arrive pas à faire fonctionner mon formulaire. Voici le code de mon formulaire:

<form id="form1" name="form1" method="post" action="enregistrement.php" enctype="multipart/form-data" onsubmit="return VerifMail();">
<table width="100%" border="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="35%" align="right"><em><strong>Option d'offre et de Demande</strong></em></td>
<td colspan="2" align="left" valign="bottom"><hr /></td>
</tr>
<tr>
<td align="right">Type d'annonce:</td>
<td width="37%" align="left"><div id="spryradio2">
<table width="200">
<tr>
<td width="85"><label>
<input type="radio" name="RadioGroup2" value="Offre" id="RadioGroup2_0" />
Offre</label></td>
<td width="103"><input type="radio" name="RadioGroup2" value="Demande" id="RadioGroup2_1" />
Demande</td>
</tr>
</table>
<span class="radioRequiredMsg">Effectuez une sélection.</span></div></td>
<td width="28%"> </td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF"><em><strong>Informations sur votre personne</strong></em></td>
<td colspan="2" align="left" valign="bottom"><hr /></td>
</tr>
<tr>
<td align="right">Vous êtes un:</td>
<td align="left"><div id="spryradio1">
<table width="200">
<tr>
<td><label>
<input type="radio" name="RadioGroup1" value="particulier" id="RadioGroup1_0" />
Particulier</label></td>
<td><input type="radio" name="RadioGroup1" value="Professionnel" id="RadioGroup1_1" />
Professionnel</td>
</tr>
</table>
<span class="radioRequiredMsg">Effectuez une sélection.</span></div></td>
<td> </td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF">Nom et Prénoms</td>
<td colspan="2" align="left" valign="bottom"><span id="sprytextfield1">
<label>
<input type="text" name="nom" id="nom" style="text-align:center"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span></td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF">Email:</td>
<td colspan="2" align="left" valign="bottom"><span id="sprytextfield2">
<label>
<input type="text" name="email" id="email" style="text-align:center"/>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></label>
</span><br/><em style="font-size:12px; color:#063">Afin de vous protéger du spam, votre email ne sera pas visible dans l'annonce. Les utilisateurs pourront vous contacter via un formulaire.</em></td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF">Téléphone cellulaire:</td>
<td colspan="2" align="left" valign="top"><span id="sprytextfield3">
<label>
<input type="text" name="cell" id="cell" style="text-align:center"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span>ex:(00225)07000100</td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF"><em><strong>Informations le produit</strong></em></td>
<td colspan="2" align="left" valign="bottom"><hr /></td>
</tr>
<tr>
<td align="right">Catégorie:</td>
<td align="left"><span id="spryselect1">
<label>
<select name="Category" id="Category">
<?php
do {
?>
<option value="<?php echo $row_champ1['Idcat']?>"><?php echo $row_champ1['TitrCat']?></option>
<?php
} while ($row_champ1 = mysql_fetch_assoc($champ1));
$rows = mysql_num_rows($champ1);
if($rows > 0) {
mysql_data_seek($champ1, 0);
$row_champ1 = mysql_fetch_assoc($champ1);
}
?>
</select>
</label>
<span class="selectRequiredMsg">Sélectionnez un élément.</span></span></td>
<td> </td>
</tr>
<tr>
<td align="right" bgcolor="#FFFFFF">Appelation de votre produit::</td>
<td colspan="2" align="left" valign="bottom"><span id="sprytextfield4">
<label>
<input type="text" name="produit" id="produit" style="text-align:center"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span>ex:Radio</td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF">Détails de votre annonce::</td>
<td colspan="2" align="left" valign="bottom"><span id="sprytextarea1">
<label>
<textarea name="detail" id="detail" cols="45" rows="5"></textarea>
</label>
<span class="textareaRequiredMsg">Une valeur est requise.</span></span></td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF"> </td>
<td colspan="2" align="left" valign="bottom"><em style="font-size:12px; color:#063">Indiquez dans l'annonce si vous désirez être contacté(e) uniquement
par téléphone.</em> </td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF">Prix de vente de votre produit:</td>
<td colspan="2" align="left" valign="bottom"><span id="sprytextfield5">
<label>
<input type="text" name="cout" id="cout" style="text-align:center"/>
</label>
<span class="textfieldRequiredMsg">Une valeur est requise.</span></span>en € ou Fcfa ex:15€</td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF"> </td>
<td colspan="2" align="left" valign="bottom"><input type="hidden" name="MAX_FILE_SIZE" value="100000"><input type="file" name="imag" size="30"></td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF"> </td>
<td colspan="2" align="left" valign="bottom"><em style="font-size:12px; color:#063"><span style="color: rgb(0, 0, 255);">info : une annonce avec photos
est 7 fois plus consultée qu'une annonce sans photo.</span> <br />
Les photos aux formats jpg, gif, png et bmp sont ajustées
automatiquement. Le téléchargement de photos en bas débit peut prendre
du temps</em></td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF"><em><strong>Validation</strong></em></td>
<td colspan="2" align="left" valign="bottom"><hr /></td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#FFFFFF"> </td>
<td colspan="2" align="left" valign="bottom"><label>
<input type="reset" name="effacer" id="Valider" value="Effacer" /></label><label><input type="submit" name="Valider" id="Valider" value="Valider" />
</label></td>
</tr>
</table>
</form>


Aussi, j'ai fouiller sur le net pour chercher des tutoriel mail, je n'arrive pas à les faire fonctionner. Voici par exemple des portions de code que j'ai trouvé sur le net:

<?php
$_FILES['icone']['name'] //Le nom original du fichier, comme sur le disque du visiteur, (exemple: mon_icone.png).
$_FILES['icone']['type'] //Le type du fichier. Par exemple, cela peut être "image/png"
$_FILES['icone']['size'] //La taille du fichier en octets
$_FILES['icone']['tmp_name'] //L'adresse vers le fichier uploadé dans le répertoire temporaire
$_FILES['icone']['error'] //Le code d'erreur, qui permet de savoir si le fichier a bien été uploadé
?>

<?php
if ($_FILES['icone']['error'] > 0) $erreur = "Erreur lors du transfert";
?>
<?php
if ($_FILES['icone']['size'] > $maxsize) $erreur = "Le fichier est trop gros";
?>

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

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

//Créer un identifiant difficile à deviner
$nom = md5(uniqid(rand(), true));
?>

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


et que j'ai du mail à assembler et à faire fonctionner. Je demande votre aide . Merci d'avance.