8792 sujets

Développement web côté serveur, CMS

Bonjour tout le monde.

Je rencontre un petit problème de récupération du nom de l'image pour l insérer dans ma db, via un scipt d'upload.

J ai deux tables.

Une table categories
id_cat | cat_article
1 techno

une table images
id_img | img_cat | img
1 1 (id_cat) 1.1.jpg

Comme vous pouvez le voir j essaie de lier la catégorie d'image avec l'id de la catégorie et j'aimerai que le nom de mon image ait :
$id_cat.$id_img.jpg

Mais je patauge total Smiley lol

voici mon scipt. Le nom de la catégorie, s'insère bien dans la table categories, mais pour l'image (table img) rien ne fonctionne Smiley sweatdrop

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("INSERT INTO cat_articles (cat_article) Values (%s)",
  					   GetSQLValueString($_POST['cat_article'], "text"));
					   $Result1 = mysql_query($updateSQL) or die(mysql_error());

if($HTTP_POST_FILES['img']['name']!=''){
		$nom_final=upload_img($id, $HTTP_POST_FILES['img']['name'], $HTTP_POST_FILES['img']['tmp_name']);
		//upload l'image et retourne son nom
		$updateSQL = "INSERT INTO img (img_cat, img) Values ('".$val['id_cat']."','$nom_final')";
		mysql_select_db($database, $sql_connect);
		$Result1 = mysql_query($updateSQL, $sql_connect) or die(mysql_error());
		}
}

ma fonction upload
function upload_img($id, $filename, $tmp_filename = 0){

$dossier='../img/';
		if (is_uploaded_file($tmp_filename)){ 
		//permet de vérifier si le fichier a été uplodé via http
			$nom_final=search_img_name($id, $filename);
			if (move_uploaded_file($tmp_filename,$dossier.$nom_final)) {
				return $nom_final;
			}else{
				return 0;
			}		
		}
	}


mon input
<input name="img" type="file" class="input" value="form1" size="35"/>  
déjà je te conseille de faire :
...
if(isset($HTTP_POST_FILES['img'])){
...

et il te faut un
<from name"formname" method="post" enctype="multipart/form-data">

sans oublier le enctype sinon ton fichier ne passera pas.

après faut voir.