upload

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload

par anonymousguest » 22 août 2005, 22:24

oui, c'était ça le problème...
(m'énervent ces quotes, ou il y en a trop ou y en a pas assez :x )
merci pour cette aide patiente et efficace :)

par Xenon_54 » 22 août 2005, 22:11

Bonjour,

Enlève les single-quotes dans la "première partie" de la requête:
$sql_1 = "INSERT INTO kit (id, path, format) VALUES('', '$path', '$format')";

par anonymousguest » 22 août 2005, 22:08

Erreur de syntaxe près de ''id', 'path', 'format') VALUES('', '../../../images/uploaded/des' à la ligne 1
J'ai trouvé, j'ai virer la parenthèse avec les noms des champs et j'ai rempli les valeurs pour tous les champs de la table et CA MARCHE, en tout cas, merci d'avoir été patient et de m'avoir aidé. Je reviendrais ne vous inquiétez pas et j'aurais d'autres problèmes, promis

par Xenon_54 » 22 août 2005, 22:03

Bonjour,

Ajoute ceci après "mysql_query($sql_1);":
echo mysql_error();

par anonymousguest » 22 août 2005, 22:01

ouaaaaaaaaaaaiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii... et ben non, c'est pas ça.
j'ai mis et ca donne la meme chose avec les guillemets simples en plus
toujours rien dans la table

par Xenon_54 » 22 août 2005, 21:50

Bonjour,

Il manque des single-quotes autour de la valeur du chemin de l'image:
$sql_1 = "INSERT INTO kit ('id', 'path', 'format') VALUES('', '$path', '$format')";

par anonymousguest » 22 août 2005, 21:46

Bon, excusez le temps mort, je mangeais
j'ai remplacé le copy par move_uploaded_file()
plus de probleme de ce coté là, je retrouve bien mon image sur le serveur après avoir chargé la page.
J'ai fait comme Cyrano a dit mais je vois pas oùest le problème, il n'affiche pas d'erreur , le nom de la table est bon, les noms des champs sont bon, l'ordre des value est bon, les valeurs sont bonnes... mais il n'ajoute pas l'entrée dans la table (*,)
voilà le code
$path='../../../images/uploaded/designs/'.$dest.'.'.$format;
//transfet de l'image dans le fichier+ ajout dans la bdd
if(@move_uploaded_file($file,$path))
{
echo "Le fichier a bien été uploadé";
$sql_1 = "INSERT INTO kit ('id', 'path', 'format') VALUES('', $path, $format)";
echo'<br/>'.$sql_1;
mysql_query($sql_1);
}
else {echo "Erreur";}
mysql_close();
qui affiche:
Le fichier a bien été uploadé
INSERT INTO kit ('id', 'path', 'format') VALUES('', ../../../images/uploaded/designs/5.jpeg, jpeg)
de plus, la connexion avec la bdd est faite et marche puisque ceci:
$row = mysql_fetch_array(mysql_query("SELECT id FROM kit ORDER BY id DESC LIMIT 0,1"));
$dest = $row["id"];
$dest++;
donne une valeur à $dest de 5 comme ça doit le faire puisqu'il y a 4 entrées pour le moment

par Xenon_54 » 22 août 2005, 20:46

Bonjour,
copy("$file","$path");////////////////////////////////////ligne36 
Utilise la fonction move_uploaded_file() à la place de copy() lorsqu'il s'agit d'upload:
http://www.php.net/manual/fr/function.m ... d-file.php

Et retire les double-quotes (") puisqu'elles ne sont pas nécessaires.

par Cyrano » 22 août 2005, 18:03

Cette ligne:
mysql_query("INSERT INTO kit ('id', 'path', 'format') VALUES('',$path,$format)");
Transforme-la comme ça
$sql_1 = "INSERT INTO kit ('id', 'path', 'format') VALUES('',$path,$format)";
echo($sql_1);
mysql_query($sql_1);
Et regarde ce que ça donne: est-ce que les valeurs des variables sont là où elles devraient être ?

par anonymousguest » 22 août 2005, 17:48

c'est ce que j'ai essayé de faire, je l'enregistre sur le serveur et je rentre son url et son format dans la base

par Cyrano » 22 août 2005, 17:46

COmment ça "insérée dans la bdd" : tu veux faire quoi au juste ? Je te sens bien parti pour essayer d'enregistrer l'image en binaire dans ala base de données, source de nombreuses galères sur ce forum;

Suggestion: enregistre l'image dans un répertoire dédié sur ton site et n'enregsitre dans la base que les informations sur cette image, nom, extension, type de fichier, hauteur, largeur, etc... mais pas l'image elle-même.

par anonymousguest » 22 août 2005, 17:42

J'ai parlé trop vite, l'image est bien chargée mais elle n'est pas insérée dans la bdd :(

par Cyrano » 22 août 2005, 17:36

le "." représente le répertoire courant, ".." représente le répertoire parent et "/" le répertoire racine.

par anonymousguest » 22 août 2005, 17:30

Comment je dois faire?
j'ai changé le CHMOD du dossier: designs
en 777 mais ca change rien

EDIT: CA MARCHE :D pourquoi il faut un point avant l'url?

par Cyrano » 22 août 2005, 17:29

Il est probable que ça vient du fait que tu lui done en chemin de destination une adresse absolue en http. Essaye de mettre un chemin relatif à la place du style:
$path='./images/uploaded/designs/'.$dest.'.'.$ext_fichier; 
Le chemin exemple que j,ai mis part du principe que cette page s'exécute à la hauteur de la racine du site.