Page 1 sur 1

Pb d'upload d'image

Posté : 15 avr. 2005, 14:22
par betman
Erf désolé c encore moi,

je souhaite à partir d'un fomulaire créer des fiches d'identités.
Et je ne parviens pas à inscrire l'image ds la BDD

voici le code du formulaire

<form method="post" action="ajout.php" enctype="multipart/form-data">
<p>
Nom : <br>
<input type="texte"name="nom">
<br>
<br>
Pr&eacute;nom : <br>
<input type="texte"name="prenom">
<p>Image :<br>
<input type="file" name="image" size="40" maxlength="80">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<p align="center">
<input type="submit" value="Valider" name="submit">
<a href="personnel.php">Annuler</a></span> </p>
</form>
</td>
</tr>
</table><br>

et le code qui mets a jour la bdd

<?

include('connection.inc.php');

$image_name = strtolower($image_name);
$image_name = strtr($image_name," ","_");
$image_name = strtr($image_name,"à","a");
$image_name = strtr($image_name,"é","e");
$image_name = strtr($image_name,"è","e");
$image_name = strtr($image_name,"ù","u");
$image_name = strtr($image_name,"ç","c");
$image_name = strtr($image_name,"â","a");
$image_name = strtr($image_name,"ä","a");
$image_name = strtr($image_name,"ê","e");
$image_name = strtr($image_name,"ë","e");
$image_name = strtr($image_name,"î","i");
$image_name = strtr($image_name,"ï","i");
$image_name = strtr($image_name,"ô","o");
$image_name = strtr($image_name,"ö","o");
$image_name = strtr($image_name,"û","u");
$image_name = strtr($image_name,"ü","u");

if (is_uploaded_file($image))
{
move_uploaded_file($image, "img/$image_name");
}
else
{
print "Veuillez recommencer, le téléchargement a échoué";
}

$query = "INSERT INTO personnel(id,nom,prenom,image) VALUES ('','".$_POST['nom']."','".$_POST['prenom']."','".$_POST['image']."')";
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error());

mysql_close();

header('location: personnel.php');
?>

Posté : 15 avr. 2005, 15:22
par betman
Personne pour m'éclairer??

sniff

Posté : 15 avr. 2005, 15:25
par ouckileou
quelle est l'erreur ? PHP ou SQL ?

le code dans les balises PHP c'est mieux ;)

tu tiens absolument à stocker le fichier image dans ta base de données, plutôt que mettre le fichier dans un répertoire et stocker le chemin d'accès ?

Posté : 15 avr. 2005, 15:29
par betman
bah j'ai pas d'erreur d''afficher,

Pour te répondre, je préfère stocker uniquement le chemin de l'image

Posté : 15 avr. 2005, 15:46
par ouckileou
ok pour le chemin j'avais lu en diagonale en fait ...

aucune erreur ? c'est juste que l'enregistrement ne se fait pas ?

d'où vient le $image_name utilisé au début ?

Posté : 15 avr. 2005, 16:01
par betman
ce code est vieux de 3 ans, je me souviens plus vraiment en faite

mais je sais qu'il y a 3 ans ca marchais lol

La effectivement l'enregistrement ne se fait pas, et aucun msg d'erreur :/

dans la BDD, j'ai une table image

voila

Posté : 15 avr. 2005, 16:03
par ouckileou
déjà essaye de récupérer tes variables avec $_POST['variable']

edit : désolé encore mal lu :oops:

Posté : 15 avr. 2005, 16:05
par Gentoo Warrior
salut,

Essaie de remplacer $_POST['image'] par $image_name
ta table est peut être prévue pour recevoir le nom de l'image et pas l'image !!!

Posté : 15 avr. 2005, 16:07
par betman
oui elle est prévue pour recevoir le nom du fichier

Posté : 15 avr. 2005, 16:21
par betman
j'ai testé vos modifs mais ca ne donne toujours rien,

Si vous avez d'uatre idées, elles sont les bienvenue

Posté : 15 avr. 2005, 16:37
par Gentoo Warrior
dans la BDD, j'ai une table image
tu insères tes données dans la table personnel , c'est normal :?: :?:

Re: Pb d'upload d'image

Posté : 15 avr. 2005, 16:38
par thierry
salut,

déja il y a ça qui me gène :
<a href="personnel.php">Annuler</a></span> </p>
je ne vois pas la balise d'ouverture '<span>'

ensuite je ne vois pas d'où sort ta variable $image_name.

pour avoir le nom de ton image pense plutôt à utiliser le tableau $_FILES
ici:
$_FILES['image']['name']
et :
http://fr2.php.net/manual/en/features.f ... ost-method

enfin ta redirection avec header risque de ne pas marcher sur un serveur normalement constitué (donc pas easyphp 1.7) :
http://phpfrance.com/forums/voir_sujet-47.php


thierry

Posté : 15 avr. 2005, 16:45
par betman
Je comprends plus grand chose la, mon code fonctionnait très bien il y a quelques temps, enfin bref

Je n'ai pas de table image mais un champ image dans ma table personnel, désolé me suis trompé

Posté : 15 avr. 2005, 19:08
par Gentoo Warrior
Comme le dit thierry, insere cette ligne la pour récuperer le nom de l'image :

Code : Tout sélectionner

$image_name=$_FILES['image']['name'];
juste avant ou après include('connection.inc.php');

puis change le $_POST['image'] en $image_name et ça devrais le faire (ou le faire faire) :lol: .