Formulaire si champ non saisie renvoi (non renseigné )

Eléphant du PHP | 372 Messages

29 juil. 2014, 15:08

Salut à tous,
J'ai un petit formulaire avec lequel l'utilisateur peut soumettre plusieurs champ dont un champ photo.
Mais j'aimerais que ce champ si il n'est pas saisie par l'utilisateur enregistré en bdd ( non renseigné ).
Et pour le champ photo si l'utilisateur ne mais pas de photos y mettre par défaut une image (img_vide)
merci pour l'astuce
<?php
// traitement pour les fichiers photos
$dossier = 'img/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 1000000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['name'], '.'); 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Veuillez vérifier que le format de votre photo soit de type png, gif, jpg, jpeg, ';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Téléchargement effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec du téléchargement !';
     }
}
else
{
     echo $erreur;
}


//le tableau d'erreurs est vide alors on insère les données
if( empty( $erreurs)  ){
$req = $bdd->prepare('INSERT INTO sport (  photo, description) VALUES :photo, :description)');
   
   
   
     $retour= $req->execute(array(
          'photo'=>$_FILES['photo']['name'],
          'description'=>$_POST['description']
    ));
if( $retour ===false) echo "Problème lors de l'insertion";
       
}else{//le tableau ne contient
 echo "<p> renseignez les champs vides</p>";
}

}//fin de la soumission du formulaire

?>
<label> Descriptif </label>
<input class="form-control" type="text" name="description" value="<?php if(isset($_POST['description'])) echo $_POST['description'];?>" />
<div class="error"><?php if(isset($erreurs['description'])) echo $erreurs['description'];?></div><!-- si champ vide renvoyer non renseigné -->

<label>Photo</label>
<input  name="photo" type="file"/><!-- si champ vide renvoyer la photo par default ( img_vide ) -->


<input class="btn-u" type="submit" value="ENVOYER">
</form>

Mammouth du PHP | 2278 Messages

30 juil. 2014, 10:23

quelque part vers ici:
if ($photo == "") (ou isset(...))
{
$photo = 'nomarbitrairechosipartoi';
}
//le tableau d'erreurs est vide alors on insère les données
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD