Envois d'images via formuaire

Petit nouveau ! | 2 Messages

07 févr. 2011, 13:01

Bonjour,

Je souhaite envoyer une image de 100px * 100px dans mon formulair, le soucis c'est que mon envois d'image ne prend pas en compte son nom donc il ne l'envois pas... Je ne vois pas l'erreur dans mon script, je sais que c'est au moment de prendre l'ID et de l'incrémenter qu'il plante mais je trouve sa bisard... (L'ajout dans la table utilisateur fonctionne, pseudo, mdp, email mais pas l'image) :

mon script PHP :
<?php require_once('connection/connectionBDD.php'); ?>
<?php 
		$chemin_upload = "./uploads/";
		$poids_max = "2000000";
		$extension_valide = array('jpg', 'jpeg', 'gif', 'png');
		$largeur_img = 100;
		$hauteur_img = 100;
		
		$nom_fichier = $_FILES['image']['name']; 
		$taille_fichier = $_FILES['image']['size'];
		$fichier_temp = $_FILES['image']['tmp_name'];
		$extension_fichier = substr($nom_fichier, -3); 
		
	if ($_POST['action'] == 1) {
		$recup = $bdd->query("SELECT MAX(id) AS id FROM utilisateur");
		$rsrecup = $recup->fetch();
		if ($rsrecup['id'] != NULL){
			$valeur_id = $rsrecup['id'];
		}else {
			$valeur_id = 0;
		}	
		if ($nom_fichier == ""){
			echo "muah";
			$new_id=$valeur_id+1;
			$size = getimagesize($fichier_temp);
			
		  	if (($size[0]==$largeur_img) AND ($size[1]==$hauteur_img)){
		  			
				if (in_array($extension_fichier, $extension_valide)){
			
					if ($taille_fichier <= $poids_max){
						$nom_final = $new_id.".".$extension_fichier;
						move_uploaded_file($fichier_temp, $chemin_upload.$nom_final);
					}else {
						echo " L'image doit avoir comme taille maximal 100px x 100px ";
					}
			
				}else{
					echo " extension de fichier non valide ";
				}
		 	}else{
		  		echo "le fichier doit avoir comme dimension minimum 100px x 100px";
		  		$nom_final = "";
		  		
		  	}
	    }else{

	    	$nom_final = "";
	    }
	    
	    
		$ajout = $bdd->prepare('INSERT INTO utilisateur(pseudo, mdp, email, image) VALUES (?, ?, ?, ?)');
		$ajout->execute(array($_POST['pseudo'],
						  $_POST['mdp'],
						  $_POST['email'],
						  $nom_final)); 
    }
?>

Et voici mon formulaire :
<form action="inscription.php" method="post" enctype="multipart/fotm-data" >
      	  <table border="0" cellspacing="15" cellpadding="0">
  <tr>
    <td>Pseudo :<br />
      <div class="rouge">(*Obligatoire)</div></td>
    <td><input type="text" name="pseudo"/></td>
  </tr>
  <tr>
    <td>Mot de passe :<br />
<div class="rouge">(*Obligatoire)</div></td>
    <td><input type="password" name="mdp"/></td>
  </tr>
  <tr>
    <td>e-mail :<br />
<div class="rouge">(*Obligatoire)</div></td>
    <td><input type="text" name="email"/></td>
  </tr>
  <tr>
    <td>Photos :<br/>
    <div class="rouge">(100px*100px)</div>
    </td>
    <td><label for="image"></label>
      <input type="file" name="image" /></td>
  </tr>
   <tr>
    <td><input value="Inscription" type="submit" /></td>
    <td></td>
  </tr>
</table>
<input name="action" type="hidden" value="1" />
</form>

Merci d'avance pour votre aide !

Petit nouveau ! | 2 Messages

07 févr. 2011, 15:31

Ahah j'ai trouver mon problème... Sa vien d'une faute de syntaxe... problème résolut ( sa venait du formulaire, enctype="multipart/form-data", j'avais noter enctype="multipart/fotm-data".