Initialisation variable dans formulaire
Bonsoir à tous,
J'ai un formulaire qui est traité par lui même via PHP_SELF.
Au sein de ce formulaire j'ai un champ file.
Je souhaite donc initialiser mes variables associées au champ file.
Car là, dans l'état actuel j'ai le message : Vous devez uploader un fichier de type png, gif, jpg, jpeg en haut de mon formulaire. En effet celui ci n'a pas encore été soumis.
J'ai le code de traitement sur la même page car je souhaite que le formulaire garde les valeurs des champs après la soumission.
Donc comment puis je bien initialiser mes variables de façon à ne plus avoir ce message ?
Voici le code de la page :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
<?php
require('../conf/bdd.php');
if(isset($_POST['titre'])) $titre=$_POST['titre']; else $titre="";
$dossier = './../images/img_medias/';
$affiche = basename($_FILES['fichier']['name']);
$taille_maxi = 500000;
$taille = filesize($_FILES['fichier']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['fichier']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop volumineux';
}
if(!isset($erreur)) //Si pas d'erreur on envoie
{
//formate nom fichier
$affiche = strtr($affiche,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$affiche = preg_replace('/([^.a-z0-9]+)/i', '-', $affiche);
if(move_uploaded_file($_FILES['fichier']['tmp_name'], $dossier . $affiche)) //Si True, OK
{
$sql = "INSERT INTO media SET nom_media = '$titre', image_media = '$affiche'";
mysql_query($sql) or die(mysql_error());
mysql_close();
echo "L'enregistrement du média ".$titre." s'est bien effectué";
}
else //Sinon FALSE.
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
<form name="ajoutMedia" id="ajoutMedia" method="post" action="<?= $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<fieldset>
<p>
<label for="type">Titre</label>
<input type="text" id="titre" name="titre" value="<?php if(isset($_POST['titre'])) echo $_POST['titre'] ?>" />
</p>
<p>
<label for="type">Affiche/Jaquette</label>
<input type="file" id="fichier" name="fichier" />
<img src="<?php if(isset($affiche)) echo $dossier.$affiche ?>" />
</p>
<p>
<input name="Envoyer" type="submit" value="Envoyer">
</p>
</fieldset>
</form> |
En vous remerciant