Pb d'upload d'image

Eléphant du PHP | 206 Messages

15 avr. 2005, 14:22

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');
?>

Eléphant du PHP | 206 Messages

15 avr. 2005, 15:22

Personne pour m'éclairer??

sniff

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

15 avr. 2005, 15:25

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 ?

Eléphant du PHP | 206 Messages

15 avr. 2005, 15:29

bah j'ai pas d'erreur d''afficher,

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

15 avr. 2005, 15:46

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 ?

Eléphant du PHP | 206 Messages

15 avr. 2005, 16:01

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

15 avr. 2005, 16:03

déjà essaye de récupérer tes variables avec $_POST['variable']

edit : désolé encore mal lu :oops:
Modifié en dernier par ouckileou le 15 avr. 2005, 16:10, modifié 1 fois.

Eléphant du PHP | 139 Messages

15 avr. 2005, 16:05

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 !!!

Eléphant du PHP | 206 Messages

15 avr. 2005, 16:07

oui elle est prévue pour recevoir le nom du fichier

Eléphant du PHP | 206 Messages

15 avr. 2005, 16:21

j'ai testé vos modifs mais ca ne donne toujours rien,

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

Eléphant du PHP | 139 Messages

15 avr. 2005, 16:37

dans la BDD, j'ai une table image
tu insères tes données dans la table personnel , c'est normal :?: :?:

Eléphant du PHP | 287 Messages

15 avr. 2005, 16:38

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

Eléphant du PHP | 206 Messages

15 avr. 2005, 16:45

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é

Eléphant du PHP | 139 Messages

15 avr. 2005, 19:08

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: .