Format de date us-fr avec postdata

Résolu/Fermé
mikl86 - 10 mars 2014 à 15:24
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 - 28 mars 2014 à 20:18
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.
A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
10 mars 2014 à 16:30
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
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
10 mars 2014 à 19:00
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;

0
Merci à toi pour tes explications détaillées, c'est très sympa de ta part
Bon we
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
28 mars 2014 à 20:18
Pas de soucis, mieux vaux détailler que donner une réponse incompréhensible. J'ésoère que cela t'a aidé.
0