Page 1 sur 1

problème avec enctype multipart /form-data

Posté : 30 janv. 2013, 07:50
par vilwix
Bonjour,
je fais appel à vous, parce que j'arrive pas à trouver la solution à un problème sans doute banal. Je voudrais uploader des images sur mon ftp et également sur ma BDD. Lorsque je met enctype multipart/form-data, l'image est bien uploadée sur mon serveur, mais pas sur ma BDD. Lorsque je l'enlève, l'image est uploadée sur ma BDD mais pas sur mon serveur...J'ai essayé toutes les manipulations possibles et inimaginables mais ma connaissance limitée de php m'empêche peut-être de voir l'essentiel.
Voici mon code
Pour info, include fc.php: <?php
if ($modif == 1) { echo"enregistre_conducteur.php?modif=1"; }
else {echo"enregistre_conducteur.php"; }
?>"
<?php
session_start();
?>

<html>
<script type="text/javascript" language="Javascript" >
<!--
function verification()
{



 
 if(document.formulaire.pseudo.value == "")  {
   alert("Veuillez entrer un pseudo svp");
   document.formulaire.pseudo.focus();
   return false;
  }
   else if(document.formulaire.pwd.value == "") {
   alert("Veuillez entrer un mot de passe svp");
   document.formulaire.pwd.focus();
   return false;
  }
   else if(document.formulaire.pwd2.value == "") {
   alert("Veuillez confirmer votre mot de passe svp");
   document.formulaire.pwd2.focus();
   return false;
  }
  else   if(document.formulaire.pwd2.value != document.formulaire.pwd.value) {
   alert("Veuillez entrer un mot de passe identique svp");
   document.formulaire.pwd2.focus();
   return false;
  }
  else   if(document.formulaire.mail.value == "") {
   alert("Veuillez entrer une adresse email svp");
   document.formulaire.mail.focus();
   return false;
  }
  
  else  if(document.formulaire.mail.value.indexOf('@') == -1) {
   alert("Ce n'est pas une adresse mail valide");
   document.formulaire.mail.focus();
   return false;
  }
  else  if(document.formulaire.mail.value.indexOf('.') == -1) {
   alert("Ce n'est pas une adresse mail valide");
   document.formulaire.mail.focus();
   return false;
  }
 
   else if(document.formulaire.accord.checked == false) {
   alert("Veuillez accepter la difusion de vos coordonnées svp");
   document.formulaire.accord.focus();
   return false;
  } 
  
return true
}
//-->
</script>

<table width="940" border="0" align="left" >

	<TR>
		<TD width="150" valign="top">
			<?php include('index3.php'); ?>
		</TD>

		<TD>

<?php
	
if ($_SESSION['loginOK'] == true) {
	include('menus_session.htm');
	echo "</br>";	
}
	
If ($modif != 2) {

$modif=$_GET['modif'];

		$pseudo2="";
		$mail="";
		$pwd="";
		$nom="nom";
		$prenom="prenom";
		$fichier_nom="fichier_upload";
	}

if ($_SESSION['loginOK'] == true AND $modif == 1) {
	
	$id=$_SESSION['id'];
		
	include('connexion_SQL.php');
		
	$reponse = mysql_query("SELECT * FROM conducteurs WHERE ID='$id'") or die(mysql_error());
		
	while ($donnees = mysql_fetch_array($reponse) ) {
		$pseudo2=$donnees['pseudo'];
		$mail=$donnees['mail'];
		$pwd=$donnees['pwd'];
		$nom=$donnees['nom'];
		$prenom=$donnees['prenom'];
		$tel=$donnees['tel'];
		$fichier_nom=$donnees['fichier_upload'];
		}
		
	mysql_close();
	}
	
	else {
		//$modif = "";
		}
?>

		
		
<form  name="fichier_upload" id="fichier_upload"   method="post"    action="<?php include('fc.php'); ?>"   onSubmit="return verification()" enctype='multipart/form-data' >
  <input type="hidden" name="MAX_FILE_SIZE" value="20000000" />
  <table width="750" border="0">
    <tr>
      <td width="240" height="24"><p><strong>Je m'identifie:</strong></p>
      </td>
      <td width="500">&nbsp;</td>
  </tr>
  </table>
  
    <table width="750" border="0">
    <tr>
      <td width="240" height="24"><div align="right">Mon nom</div></td>
      <td width="500"><input name="prenom" type="text" <?php echo "value=\"$prenom\""; ?>	  onFocus="javascript:this.value=''" >
        <input name="nom" type="text" <?php echo "value=\"$nom\""; ?> onFocus="javascript:this.value=''" ></td>
    </tr>
	</table>
	
	<table width="750" border="0">
    <tr>
      <td width="240" height="24"><div align="right">Mon pseudo*</div></td>
      <td width="500"><input type="text" name="pseudo" <?php echo "value=\"$pseudo2\""; ?> ></td>
    </tr>
	</table>
	
	<table width="100%" border="0">
<tr>
<td>

<input   name="fichier_upload" id="fichier_upload" type="file" <?php echo "value=\"$fichier_nom\""; ?> onFocus="javascript:this.value=''"><br>
 


</table>




	<table width="750" border="0">
    <tr>
      <td height="8"></td>
    </tr>
	</table>
  
	<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Je choisis un mot de passe*</div></td>
    <td width="500"><input type="password" name="pwd" <?php echo "value=\"$pwd\""; ?> ></td>
  </tr>
	</table>
  
  <table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Je confirme le mot de passe*</div></td>
      <td width="500"><input type="password" name="pwd2" <?php echo "value=\"$pwd\""; ?>></td>
  </tr>
  
  

	</table>
<p>&nbsp;</p>
<p><strong>Pour me joindre:</strong></p>
<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Mon adresse mail*      </div></td>
    <td width="500"><input type="text" name="mail" <?php echo "value=\"$mail\""; ?>></td>
  </tr>
</table>

	<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Mon t&eacute;l&eacute;phone</div></td>
    <td width="500"><input type="text" name="tel" <?php echo "value=\"$tel\""; ?>></td>
  </tr>
	</table>

	
<p>* champs obligatoires</p>

<BR>

<p>
  <input name="accord" type="checkbox" value="oui" <?php if ($modif != "") {echo"checked"; } else {echo "unchecked"; } ?> >
  J'accepte que mes coordonnées soient communiquées aux usagers de ce site (dans tous les cas mon adresse mail ne sera pas visible sur le site)<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ce site s'engage à ne pas communiquer vos données à toute autre personne que les utilisateurs de ce site.<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je decharge les createurs de ce site de toute responsabilité en cas de problème survenu lors du covoiturage. 
  
  <br />
</p>
<blockquote>
  <p>
  
   	   <input name="soumettre" type="submit"   value="Valider" >

</blockquote>

</form>
</TD>
</TR>

</table>


</html>

et du côté upload:
<html>
<head>
<title>Upload</title>
</head>

<body>


<?php 
  ?>

<?php
 if(!empty($_FILES['fichier_upload']['name']))
{
// on récupère les infos du fichier à uploader
 $fichier_temp = $_FILES['fichier_upload']['tmp_name'];
$fichier_nom = $_FILES['fichier_upload']['name'];


// on défini les dimensions et le type du fichier
 list($fichier_larg, $fichier_haut, $fichier_type, $fichier_attr)=getimagesize($fichier_temp);

// infos de contrôle du fichier
 $fichier_poids_max = 500000;
$fichier_h_max = 2448;
$fichier_l_max = 3264;

// dossier de destination
 $fichier_dossier = 'avatar/';

// extension du fichier
 $fichier_ext = substr($fichier_nom,strrpos( $fichier_nom, '.')+1);

// on renomme le fichier
 $fichier_date = date("ymdhis");
$fichier_n_nom = $fichier_date.".".$fichier_ext;

// on vérifie s'il y a bien un fichier à uploader
 if (!empty($fichier_temp) && is_uploaded_file($fichier_temp))
{
// on vérifie le poids du fichier
 if (filesize($fichier_temp)<$fichier_poids_max)
{
// types de fichiers autorises 1=gif / 2=jpg / 3=png
 if (($fichier_type===1) || ($fichier_type===2) || ($fichier_type===3))
{
// on vérifie si l'image n'est pas trop grande
 if (($fichier_larg<=$fichier_l_max) && ($fichier_haut<=$fichier_h_max))
{

// si le fichier est ok, on l'upload sur le serveur
 if (move_uploaded_file($fichier_temp, $fichier_dossier.$fichier_n_nom))
{
echo "Le fichier a été uploadé avec succès<br />";
echo '<a href="'.$fichier_dossier.$fichier_n_nom.'"><img src="'.$fichier_dossier.$fichier_n_nom.'"></a><br />';
}
else
echo "Le fichier n'a pas pu être uploadé<br />";
}
else
echo "Le fichier est trop grand<br />";
}
else
echo "Le fichier n'a pas le bon format<br />";
}
else
echo "Le fichier est trop lourd<br />";
}
else
echo "Pas de fichier à uploader<br />";
}
?>

	</td>
</tr>
</table>
</body>
</html>


Merci infiniment :D !