Format de date us-fr avec postdata

Résolu
Bonjour à toutes et à tous,
J'envoi des données provenant d'un formulaire html à un partenaire via la fonction POST date.
Mon probleme c'est que mon partenaire attend un date au format us YYYY-MM-DD et que mon input (name=date_effet) doit rester francais JJ-MM-YYYY

J'ai essayé ceci :

$dateeffet_fr = $_POST['date_effet'];
$dateeffet_us = date('Y-m-d', strtotime(str_replace('/', '-', $dateeffet_fr)));
pour convertir puis

$postdata = http_build_query(
array(
'ip' => $_POST['ip'],
'date_effet' => $_POST['dateeffet_us'],
'etc' => $_POST['etc'],

Pour envoyer
Mais cela ne fonctionne pas.

JE suis dessus depuis ce matin, je ne comprends pas ce qui bloque.
Merci d'avance à tous pour le coup de pouce.

2 réponses

  1. Salut,

    Tu ne précise pas quel est ton problème (message d'erreur? résultat attendu ?)

    Du coup je suppose qu'il y a une erreur dans la construction de ton tableau $postdata : la variable $_POST['dateeffet_us'] n'existe pas, il faut la remplacer par $dateeffet_us.

    Bonne journée
    1. Pour ton probleme, je te conseille de faire ceci:

      // un decoupe la variable:
      $tmp=explode('-',$_POST['date_effet']);
      
      // $tmp est donc un tableau qui contient à chaque iteration, 0=>JJ, 1=>MM, 2=>YYYY
      // il reste plus qu'a réorganiser
      $dateeffet_us=$tmp[2].'/'.$tmp[1].'/'.$tmp[0]
      


      Tu aura dans ton $dateeffet_us la meme date mais au format YYYY/MM/JJ

      Par contre attention, ton $_POST['dateeffet_us'] a deux posibilités:
      1) il provient du formulaire et à donc la valeur contenue à la base dans le formulaire
      2) Il n'existe pas (en effet, $dateeffet_us n'est pas $_POST['dateeffet_us'])

      Si tu veux mettre dateeffet_us dans le post et remplacer le date_effet il faut alors faire:

      $_POST['date_effet']=$dateeffet_us;
      

      1. Merci à toi pour tes explications détaillées, c'est très sympa de ta part
        Bon we
      2. Pas de soucis, mieux vaux détailler que donner une réponse incompréhensible. J'ésoère que cela t'a aidé.