Vous n'êtes pas identifié(e).
Bonjour à tous,
j'ai fini mon code pour l'upload multiple. Et une personne ma gentiment corrigé mes groooooosses erreurs.
Seulement voila, maintenant, je n'ai que la 1er lettre de l'image qui s'insère dans ma table, l'upload fonctionne, et toutes les variables s'insère correctement sauf les aFile (nom du fichier envoyé)
Et je bloque.
Merci d'avance de m'indiquer mon erreur ou un code érroné
$date= date("ymdhis");
$promotion = (!empty($_POST['promotion'])) ? addslashes($_POST['promotion']) : '';
$ordrepromo = (!empty($_POST['ordrepromo'])) ? addslashes($_POST['ordrepromo']) : '';
$nouveautes = (!empty($_POST['nouveautes'])) ? addslashes($_POST['nouveautes']) : '';
$ordrenouveaute = (!empty($_POST['ordrenouveaute'])) ? addslashes($_POST['ordrenouveaute']) : '';
$rubrique = (!empty($_POST['rubrique'])) ? addslashes($_POST['rubrique']) : '';
$sousrubriques = (!empty($_POST['sousrubriques'])) ? addslashes($_POST['sousrubriques']) : '';
$marque = (!empty($_POST['marque'])) ? addslashes($_POST['marque']) : '';
$nomcuisine = (!empty($_POST['nomcuisine'])) ? addslashes($_POST['nomcuisine']) : '';
$encastrable = (!empty($_POST['encastrable'])) ? addslashes($_POST['encastrable']) : '';
$posable = (!empty($_POST['posable'])) ? addslashes($_POST['posable']) : '';
$nom = (!empty($_POST['nom'])) ? addslashes($_POST['nom']) : '';
$reference = (!empty($_POST['reference'])) ? addslashes($_POST['reference']) : '';
$description = (!empty($_POST['description'])) ? addslashes($_POST['description']) : '';
$note = (!empty($_POST['note'])) ? addslashes($_POST['note']) : '';
$avis = (!empty($_POST['avis'])) ? addslashes($_POST['avis']) : '';
$garantie = (!empty($_POST['garantie'])) ? addslashes($_POST['garantie']) : '';
$label = (!empty($_POST['label'])) ? addslashes($_POST['label']) : '';
$consommation = (!empty($_POST['consommation'])) ? addslashes($_POST['consommation']) : '';
$dimension = (!empty($_POST['dimension'])) ? addslashes($_POST['dimension']) : '';
$colori = (!empty($_POST['colori'])) ? addslashes($_POST['colori']) : '';
$prix = (!empty($_POST['prix'])) ? addslashes($_POST['prix']) : '';
$promo = (!empty($_POST['promo'])) ? addslashes($_POST['promo']) : '';
$aFile=$val[aFile];
$aFile2=$val[aFile2];
$aFile3=$val[aFile3];
$aFile4=$val[aFile4];
$aFile5=$val[aFile5];
$aFile6=$val[aFile6];
$aFile7=$val[aFile7];
$addedFiles = array();
foreach ($_FILES as $name => $file)
{
if (is_uploaded_file($file['tmp_name']))
{
copy($file['tmp_name'], "./upload/".$file['name']);
$addedFiles[$name] = mysql_real_escape_string($file['name']);
}
}
$query = "
INSERT INTO produits
(date, promotion, ordrepromo, nouveautes, ordrenouveaute, rubrique,
sousrubriques, marque, nomcuisine, encastrable, posable, nom, reference,
description, note, avis, garantie, label, consommation, dimension, colori,
prix, promo, aFile, aFile2, aFile3, aFile4, aFile5, aFile6, aFile7)
VALUES
(NOW(), '$promotion', '$ordrepromo', '$nouveautes', '$ordrenouveaute', '$rubrique',
'$sousrubriques', '$marque', '$nomcuisine', '$encastrable', '$posable', '$nom', '$reference',
'$description','$note','$avis','$garantie','$label','$consommation','$dimension','$colori','$prix','$promo'";
$query .= isset($addedFiles['aFile']) ? ", '".$addedFiles['aFile']['name']."'" : ", ''";
$query .= isset($addedFiles['aFile2']) ? ", '".$addedFiles['aFile2']['name']."'" : ", ''";
$query .= isset($addedFiles['aFile3']) ? ", '".$addedFiles['aFile3']['name']."'" : ", ''";
$query .= isset($addedFiles['aFile4']) ? ", '".$addedFiles['aFile4']['name']."'" : ", ''";
$query .= isset($addedFiles['aFile5']) ? ", '".$addedFiles['aFile5']['name']."'" : ", ''";
$query .= isset($addedFiles['aFile6']) ? ", '".$addedFiles['aFile6']['name']."'" : ", ''";
$query .= isset($addedFiles['aFile7']) ? ", '".$addedFiles['aFile7']['name']."'" : ", ''";
$query .= " )";
echo "Pas de fichier téléchargé !?";
$res = mysql_query($query) or die(mysql_error());
echo 'Vos donnees sont enregistrees.';
mysql_close();
?>
Hors ligne
Saluton,
Si tu regardes de plus près ton script, tu devrais voir une différence notable entre les lignes 27 à 33 et les lignes 57 à 63.
Je ne saurais affirmer que ton problème réside dans ces différences, mais tu devrais y réfléchir.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
J'ai trouvé ce que tu me disais :
#
$aFile7=$val['aFile7'];
mais ça ne change pas mon problème de nom ou juste la 1er lettre s'insère dans la table.
Hors ligne
Hello,
Moi j'ai quand même une question : D'où vient la variable $val ? [DTC Protect]
Parce que ca me parait bizarre de récupérer le contenu d'un tableau avec un tableau qui n'est pas un string :
Parce que sinon voilà ce qui se passe:
PHP essaye de résoudre la constante 'aFile', comme elle n'est pas définie il l'interprète la valeur numérique, soit '0'. Si $val n'est pas un tableau mais une chaine de caractère, il va te récupérer le premier caractère de la chaîne.
D'où la question : D'où viens la variable '$val'
La programmation est composée de 80% de réflexion pour 20% de syntaxe -> réfléchissez à votre problème par étapes
Recommande l'utilisation du pattern Singleton
Si jamais je poste un morceau de code pour vous aider, prenez bien compte que je n'ai pas forcément testé le code que je poste et qu'il est possible qu'il contienne des erreurs
Hors ligne
Effectivement $val n'a rien à faire ici, donc j'ai écrit :
Mais rien ... toujours la première lettre qui s'inscrit.
Hors ligne
Mais si je ne déclare pas ma variable il m'insére juste la 1er lettre. Franchement je vois pas ou ça bloque ...
Hors ligne
Est ce que tu pourrais re-poster ton code avec les petites modifications qu'on t'a déjà fais faire ?
La programmation est composée de 80% de réflexion pour 20% de syntaxe -> réfléchissez à votre problème par étapes
Recommande l'utilisation du pattern Singleton
Si jamais je poste un morceau de code pour vous aider, prenez bien compte que je n'ai pas forcément testé le code que je poste et qu'il est possible qu'il contienne des erreurs
Hors ligne
A y est, tout fonctionne
On m'a filé un énorme coup de main car je bloquais grave. Voila la source si ça peut servir à quelqu'un :
}
}
$query = "
INSERT INTO matable
(date, promotion, ordrepromo, nouveautes, ordrenouveaute, rubrique,
sousrubriques, marque, nomcuisine, encastrable, posable, nom, reference,
description, note, avis, cond, type, garantie, label, consommation, dimension, colori,
prix, promo ,promosolde, aFile, aFile2, aFile3, aFile4, aFile5, aFile6, aFile7)
VALUES
(NOW(), '$promotion', '$ordrepromo', '$nouveautes', '$ordrenouveaute', '$rubrique',
'$sousrubriques', '$marque', '$nomcuisine', '$encastrable', '$posable', '$nom', '$reference',
'$description','$note','$avis','$cond','$type','$garantie','$label','$consommation','$dimension','$colori','$prix','$promo','$promosolde'";
$query .= isset($addedFiles['aFile']) ? ", '".$addedFiles['aFile']."'" : ", ''";
$query .= isset($addedFiles['aFile2']) ? ", '".$addedFiles['aFile2']."'" : ", ''";
$query .= isset($addedFiles['aFile3']) ? ", '".$addedFiles['aFile3']."'" : ", ''";
$query .= isset($addedFiles['aFile4']) ? ", '".$addedFiles['aFile4']."'" : ", ''";
$query .= isset($addedFiles['aFile5']) ? ", '".$addedFiles['aFile5']."'" : ", ''";
$query .= isset($addedFiles['aFile6']) ? ", '".$addedFiles['aFile6']."'" : ", ''";
$query .= isset($addedFiles['aFile7']) ? ", '".$addedFiles['aFile7']."'" : ", ''";
$query .= " )";
Hors ligne