Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour!
J'ai essayé d'intégrer le upload de fichier (pas sécurisé encore) et ça marche.
Je voudrais que mes fichiers porte le même nom que le numéro d'article ici : $_POST['noart'],
j'ai tenté à quelques endroits, je n'y arrive pas. Un idée?
image en jpg seulement.
En passant, si vous avez des idées pour améliorer mon code, c'est le bienvenu ou si j'ai oublié quelque chose.
if(empty($_POST['nocat'])||
empty($_POST['noart'])||
empty($_POST['article'])||
empty($_POST['taille'])||
empty($_POST['stock'])||
empty($_POST['prix'])||
empty($_POST['details'])
) {
echo 'Tous les champs doivent être rempli!';
exit;
} else {
$db = mysql_connect('localhost', 'root', 'root') or die(mysql_error());
mysql_select_db('cristauxphil', $db) or die(mysql_error());
$noart = $_POST['noart'];
$target = "image/";
$target = $target . basename($_FILES['image']['name']);
$image=($_FILES['image']['name']);
$sql = "SELECT noart
FROM produits
WHERE noart = '$noart'
";
$result = mysql_query($sql)
or die('Query failed. ' . mysql_error());
if (mysql_num_rows($result) == 1) {
echo $noart .' Oui présent dans la base!';
exit;
} else {
echo $noart . ' pas présent dans la base!';
if(move_uploaded_file($_FILES['image']['tmp_name'], $target))
{
//Tells you if its all ok
echo "uploadé et inscrit à la base!";
}
else {
//Gives and error if its not
echo "Erreur d'\upload du fichier!";
}
mysql_query ("INSERT INTO produits (id,nocat,noart,article,taille,stock,prix,details,image)
VALUE (
'',
'". mysql_real_escape_string($_POST['nocat']) ."',
'". mysql_real_escape_string($_POST['noart']) ."',
'". mysql_real_escape_string($_POST['article']) ."',
'". mysql_real_escape_string($_POST['taille']) ."',
'". mysql_real_escape_string($_POST['stock']) ."',
'". mysql_real_escape_string($_POST['prix']) ."',
'". mysql_real_escape_string($_POST['details']) ."',
'". mysql_real_escape_string($image) ."'
)
");
}
mysql_close();
}
?>
Ma prochaine étape est de redimensionner les images en gardant les proportions.
Dernière modification par dan4 (24-03-2010 14:47:48)
Salutations
Hors ligne
Il te faut modifier $target. C'est le chemin vers le fichier sur le serveur, il contient donc le nom du fichier avec son extension.
Il ne contient pas ce que je veux. Je veux pouvoir renommer.. J'ai essayé de le modifier sans succès.
Salutations
Hors ligne
J'ai essayé avec $target = "image/". $_post['noart']; pour que ça prenne le nom du numéro d'article et ça pas fonctionner. Le nom est toujours celui du fichier originaux. Je vais essayer encore au cas où. Je vous en redonne des nouvelles.
si j'upload le fichier, je veux que ça prenne le nom de de $_post....
Dernière modification par dan4 (25-03-2010 22:54:49)
Salutations
Hors ligne
Premièrement c'est $_POST['noart'] sinon tu te retrouveras avec une variable qui n'existe pas.
Deuxièmement penses à vider ton dossier de destination avant de faire un test afin d'être sûr de n'avoir qu'un seul fichier à vérifier.
Hors ligne
Partie totalement modifié représenté par un *
Maintenant, ça fonctionne bien. Il me reste plus qu'à sécuriser le upload. Quoique ce formulaire ne sera pas publique. Mais, c'est bon d'apprendre à le faire au cas où que je décide faire une galerie d'images. Je vais le faire. Et contrôler les proportions de l'image.
* if(move_uploaded_file($_FILES['image']['tmp_name'], $chemin.$noart.".jpg"))
* '". mysql_real_escape_string($_POST['noart'].".jpg") . "'
Dernière modification par dan4 (26-03-2010 10:31:00)
Salutations
Hors ligne
Pages :: 1