Format de date us-fr avec postdata

Résolu
mikl86 -  
Stanislas Poisson Messages postés 424 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   527
 
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   Statut Membre Dernière intervention   66
 
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
mikl86
 
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   Statut Membre Dernière intervention   66
 
Pas de soucis, mieux vaux détailler que donner une réponse incompréhensible. J'ésoère que cela t'a aidé.
0