Je viens de faire un test pour récuppérer le numéro de la semaine afin de créer un planning de disponibilité pour une chambre d'hôtes.
Tout marche nickel quand je lance le fichier php, mais mon flash me renvoie une mauvaise valeur ! Pourtant, tout fonctionne bien en local sous easyphp (swf et php), le pblm ne se pose qu'avec le swf lorsque le fichier est en ligne.
Le n° de semaine renvoyé avec le flash est "03" alors qu'il devrait être 22.
voir version flash buggée :http://test.richardeau.net/semaine/semaineNumero.swf
voir version php :http://test.richardeau.net/semaine/php/semaine2.php?sDate=30/05/2007
Vous pouvez changer la date pour vous rendre compte que tout fonctionne bien en php.
Je suis un peu perdu, je ne vois pas trop la solution ! Merci pour votre aide future

voici le code as :
/*____________________________________________________________________*/
var today_date:Date = new Date();
jourT = today_date.getDate();
anneeT = today_date.getFullYear();
moisT =today_date.getMonth()+1;
trace(jourT+"//"+moisT+"//"+anneeT)
annee=anneeT
mois=moisT
jour=jourT
var sDate = jourT+"/"+moisT+"/"+anneeT
trace("sDate flash = "+sDate)
var envoyeur:LoadVars = new LoadVars();
var receveur:LoadVars = new LoadVars();
envoyeur.sDate = sDate;
envoyeur.sendAndLoad("php/semaine.php", receveur, "POST");
//envoyeur.sendAndLoad("http://127.0.0.1/monRepertoireEasyPhp/php/semaine2.php", receveur, "POST");
receveur.onLoad=function(success){
if(success){
trace(receveur)
trace(newline+"___________________________________________"+newline+"semaine n° = "+receveur.semaineNum + newline+"___________________________________________"+newline)
trace("semaineNum receveur=" + receveur.semaineNum)
trace("sDate receveur="+receveur.sDate)
debug.text="date="+receveur.sDate+" - semaine n°="+receveur.semaineNum
}else{
debug.text="PBLM !!!!!"
}
}
/*_________________________________________________________*/
Code PHP :
/*_______________________________*/
<?php
function NumeroSemaine ($sDate) { // date au format jj/mm/aaaa ou jj-mm-aaaa par exemple
$sEngDate = substr ($sDate, -4).substr ($sDate, 3, 2).substr ($sDate, 0, 2);
$iTime = strtotime ($sEngDate);
return date ('W', $iTime);
}
function PremierJourApres ($sDate, $iDay) { // iDay : 1 = lundi, 7 = dimanche - sDate = une date format jj/mm/aaaa par exemple
$sEngDate = substr ($sDate, -4).substr ($sDate, 3, 2).substr ($sDate, 0, 2);
$iTime = strtotime ($sEngDate);
$iCur = date ('N', $iTime);
$iNext = 6 - (($iCur + 6 - $iDay) % 7);
$iNewTime = $iTime + ($iNext * 86400);
return strftime ('%d/%m/%Y', $iNewTime);
}
$erreurPHP="";
if(isset($_POST['sDate']))$sDate = $_POST['sDate'];
else $erreurPHP .= "Variable 'sDate' non trasmise\n";
$semaineNum=NumeroSemaine($sDate);
echo "&semaineNum=$semaineNum &sDate=$sDate";
?>
--==|[ SLIM FLASH ]|==--