Bonjour,

je réalise actuellement un formulaire d'envoie de mail, et je souhaite permettre à l'utilisateur d'envoyer un fichier. Voici mon code :

Fichier tabrédiger.php ->
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<form action=''  enctype="multipart/form-data method=post>
			<div id="tabProfil">
				<div class="contenuForm">
					<div class="itemForm"><p><label>De :</label>	{$userMail}</p></div>
					<div class="itemFormAlt"><p><label>Destinataire :</label>   {$LstEmail}</p></div>
					<div class="itemForm"><p><label>Sujet du message :</label>   <input size="40" type="text" name="Fsujet" id="Fsujet" value=""  /></p></div>
					<div class="itemFormAlt"><p>  <TEXTAREA cols="78" rows="6" name="Fmessage" id="Fmessage" value=""></TEXTAREA></p></div>
					<div class="itemFormAlt"><p>Pi&egrave;ce jointe : <input type='file' name='Fpiecejointe' id='Fpiecejointe'/></p></div>
				</div>
			</div>
		</form>
Fichier class.mh.brick.messagerie.php ->
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
				if ($_FILES['Fpiecejointe']['error']) {
			        switch ($_FILES['Fpiecejointe']['error']){
			            case 1: // UPLOAD_ERR_INI_SIZE
							echo"Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !";
			                break;
			            case 2: // UPLOAD_ERR_FORM_SIZE
			                echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !";
			                break;
			            case 3: // UPLOAD_ERR_PARTIAL
			                echo "L'envoi du fichier a été interrompu pendant le transfert !";
			                break;
			            case 4: // UPLOAD_ERR_NO_FILE
			                echo "Le fichier que vous avez envoyé a une taille nulle !";
			                break;
					}
				}else{
					// $_FILES['Fpiecejointe']['error'] vaut 0 soit UPLOAD_ERR_OK
					// ce qui signifie qu'il n'y a eu aucune erreur
					//Grâce à la fonction move_uploaded_files() il est possible de transférer l'image du répertoire temporaire vers un répertoire de destination
					if ((isset($_FILES['nom_du_fichier']['fichier'])&&($_FILES['Fpiecejointe']['error'] == UPLOAD_ERR_OK)) {
						$chemin_destination = $this->m_core->m_config['MH_URL'].'/core/bricks/messagerie/files/';
						move_uploaded_file($_FILES['Fpiecejointe']['tmp_name'], $chemin_destination.$_FILES['Fpiecejointe']['name']);
 
					}
					$idUser = $_SESSION['user']->id;
					$destinataireID = $this->m_core->m_con->get_var("SELECT id FROM acl_users WHERE email='".$_GET['email']."'");
					$data_date_msg = date("Y-m-d h:i");
					$this->m_core->m_con->query("INSERT INTO mbr_messages (members_id, date_msg, sujet, message, destinataire_id, file) VALUES ('".$idUser."', '".$data_date_msg."', '".$_GET['Fsujet']."', '".$_GET['Fmessage']."','".$destinataireID."', '".$_FILES['Fpiecejointe']['name']."');");
				}
Mon problème est que le fichier ne se uploade pas. $_Files['Fpiecejointe']['name'] ne contient rien du tout, pourtant ($_FILES['Fpiecejointe']['error'] == UPLOAD_ERR_OK renvoie vrai.

Merci de votre compréhension