Se connecter / S'enregistrer
Votre question

Formulaire et validation php

Tags :
  • Input
  • Programmation
Dernière réponse : dans Programmation
30 Septembre 2005 13:46:12

Salut a tous j ai un petit probleme avec mon code.
Je veut uploader une Image
j ai fait une partie formulaire avec un input file et un bouton radio pour choisir si c'est un jpeg ou un gif:

<input type="file" name="photo_principale" size="30" ENCTYPE="multipart/form-data">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">Extension
de la photo principale :<br>
</font>
<input type="radio" name="extp" value=".gif">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">gif</font></label>
<br>
<label>
<input type="radio" name="extp" value=".jpg">
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">jpeg</font></label>
<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><br>
</font> <font face="Verdana, Arial, Helvetica, sans-serif" size="1">Porte
folio n°1:<br>
</font>

et la validation du formulaire donne ca:

if ($_FILES["photo_principale"]["name"]!="")
{
$newnamepp =($titre.principale.$extp);
move_uploaded_file($_FILES["photo_principale"]["tmp_name"],
"repertoire/".$newnamep);
}


le probleme est quand je test le formulaire et que je le valide il me met cette erreur:

Warning: move_uploaded_file(repertoire/): failed to open stream: Is a directory in /home/sites/site14/web/annuaire/verif.php on line 30

Warning: move_uploaded_file(): Unable to move '/tmp/phpZ1BXnH' to 'repertoire/' in /home/sites/site14/web/annuaire/verif.php on line 30

Autres pages sur : formulaire validation php

30 Septembre 2005 13:57:56

Salut,

Premierement evite dans

if ($_FILES["photo_principale"]["name"]!="")
{
$newnamepp =($titre.principale.$extp);
move_uploaded_file($_FILES["photo_principale"]["tmp_name"],
"repertoire/".$newnamep);
}


$extp utilise plutot la synthaxe : $_POST['extp']

Ensuite essayer de savoir le contenue de tes variables :

echo $_POST['extp'];
echo $newnamepp;

Et peux tu me dire ce que contient : $titre.principale ?? =)

Apres avoir fait cela tu comprendras peut etre un peu mieux ton code :) 
30 Septembre 2005 14:05:35

le contenue de la variable newnamepp est composé de 3 chose le titre de l annonce de "principale" (car c 'est la photo principale car aprés je mettrai trois autres photos) et $extp qui est l extension de la photo principale.
Contenus similaires
30 Septembre 2005 14:05:47

hum , le probleme deja c'est que $newnamep est vide, peut etre une faute de frappe : il y a un p de plus au dessus.
je n'ai vu nulle part un titre qui justifierait un $titre.
pareil pour principale qui ne semble pas avoir sa place ici.
utilise $_GET[] ou $_POST[] pour la recuperation des valeurs, isset() pour t'assurer de leur existence. isset() ne te dispense pas de tester le cas où c'est vide.
laisser au pc client le choix de l'extension, c'est prendre un gros risque de securité.
il y a une fonction dont j'ai oublié le nom qui teste que le fichier envoyé est bien une image.
les font face sont un poil dépassés, il serait bon aussi que tu te mettes aux css.
30 Septembre 2005 14:13:41

Re,

Tu peux utiliser entre autre getimagesize comme fonction, pour determiner si c'est une image
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS