Formulaire et validation php
Forum Programmation : Formulaire et validation php
TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
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
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
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.
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.
Re,
Tu peux utiliser entre autre getimagesize comme fonction, pour determiner si c'est une image
Il y a 2575 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
