Se connecter avec
S'enregistrer | Connectez-vous

Formulaire et validation php

Dernière réponse : dans Programmation

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

Lassé par la pub ? Créez un compte

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

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.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde