Pouvoir tapé la date en français pour qu'il l'afiche dans la bdd

Résolu/Fermé
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 - Modifié par jordane45 le 20/11/2015 à 17:01
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 - 20 nov. 2015 à 16:58
Boinsoir,
j'ai un problème en php j'aimerai que dans ma page html je puisse taper la date en français mais je sais pas comment m'y prendre.
Parcequ'en faite quand je le tape la date en français il affiche '0000-00-00'
voici mon code php(mon problème se situe à if($date_depense == "d-m-Y"):
<?php
if (isset($_POST['btne']))
{
 $mois = $_POST['mois'];
 $libelle_depense = $_POST['ld'];
 $date_depense = $_POST['dd'];
 $montant_depense = $_POST['md'];
 

 
 if($mois&&$libelle_depense&&$date_depense&&$montant_depense)
 {
  $dbhost = "localhost";
        $dbusers = "root";
        $dbmdp  = "";
        $table = "lignefraishorsforfait";
        $conn = mysqli_connect($dbhost, $dbusers, $dbmdp);
        $select_db = mysqli_select_db($conn,'gsb');
 
  mysqli_query($conn, "SELECT * from lignefraishorsforfait");
  mysqli_query($conn, "insert into $table(lfhf_id,vis_matricule,ff_mois, lfhf_libelle, lfhf_date, lfhf_montant) VALUES('','1','$mois','$libelle_depense', '$date_depense', '$montant_depense')");
  $message = "enregistrement effectué";
 
  
 }else{
  $message = "veuilliez saisir tout les champs";
  
 
 }
 if ($date_depense == "d-m-Y")
 {
  function getDateTimeValue( $date = null ) 
  {

   $strFormat = 'Y-m-d';
   $strDate = $date ? date( $strFormat, $date ) : date( $strFormat ) ; 
 
   return $strDate;
  }
 }
  
   
 
 
}

include 'nouveau_frais2.html';
?>


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

samyb2313 Messages postés 52 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 15 janvier 2020 5
20 nov. 2015 à 11:34
tu créés une fonction
function date_to_sql($dateFrancais)
{
      // transforme la date en tableau (array('AAAA','MM','JJ')
      $dt = explode('-',$dateFrancais); 
      
     // on restitue la date dans le bon sens
     return $dt[2]."-".$dt[1]."-".$dt[0];
}


Apres dans ton code
if (isset($_POST['btne']))
{
     $mois = $_POST['mois'];
     $libelle_depense = $_POST['ld'];
     $date_depense = date_to_sql($_POST['dd']);
     $montant_depense = $_POST['md']; 

[... la suite de ton code ...]



Il faut paufiner pour vérifier que la date est bien une date avec gestion et message d'erreur, mais comme ca ca doit marcher !
0
thibautB Messages postés 140 Date d'inscription jeudi 7 mai 2015 Statut Membre Dernière intervention 26 octobre 2016 1
20 nov. 2015 à 16:58
mercis pour ta réponse mais j'ai trouvé la réponse ça donne:
$date = explode('/',$_POST['dd'] );
$datefr = $date[2] . '-' . $date[1] . '-' . $date[0];

mais mercis pour ta réponse pertinente et très ressemblante :)
0