Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour à tous,
Pour un premier message ici, je vais passer pour un vrai débutant, et c'est vrai, je le suis, j'ai commencé le php la semaine dernière. Je ne doute pas que ce problème sera résolu en 2 lignes par des spécialistes.
J'ai commencer php avec un livre : "Je me lance en php mysql"
Un petit travail au début du livre me demande de faire écrire la date de demain.
Donc voici mon code :
<?php
//Tableau de conversion des mois
$mois[1] = "janvier" ;
$mois[2] = "février" ;
$mois[3] = "mars" ;
$mois[4] = "avril" ;
$mois[5] = "mai" ;
$mois[6] = "juin" ;
$mois[7] = "juillet" ;
$mois[8] = "août" ;
$mois[9] = "septembre" ;
$mois[10] = "octobre" ;
$mois[11] = "novembre" ;
$mois[12] = "décembre" ;
//tableau de correspondance des jours
$jour[0] = "dimanche";
$jour[1] = "lundi";
$jour[2] = "mardi";
$jour[3] = "mercredi";
$jour[4] = "jeudi";
$jour[5] = "vendredi";
$jour[6] = "samedi";
//On transforme le jour en chiffre en jour francais
$jour_francais = $jour[date("w")];
//On recuper le mois en chiffre par rapport au mois courant
$mois_chiffre = date("n");
//On transforme le moi en chiffre en mois en francais
$mois_francais = $mois[$mois_chiffre];
//On prend le jour courant
$jour = date("j");
//On soustrait le mois et jour a année
$annee_heure = date("Y, H:i:s");
//On assemble le tout
echo $jour_francais." ".$jour." ".$mois_francais." ".$annee_heure;
//On récupere la date de demain en secondes depuis le 1er janvier 1970
// aujourd'hui + 3600*24
$demain_secondes = time() + (3600 * 24);
//Mois en chiffre
$mois_chiffre_demain = date("n", $demain_secondes);
//Mois en lettre
$mois_lettre_demain = $mois[$mois_chiffre_demain];
//Jour en lettre
$jour_lettre_demain = $jour[date("w", $demain_secondes)];
//Jour du mois
$jour_mois_demain = date("j", $demain_secondes);
//année
$annee_demain = date("Y", $demain_secondes);
//Afficher la date au format vendredi 3 juin 2008
echo "Demain nous serons le ";
echo $jour_lettre_demain." ".$jour_mois_demain." ".$mois_lettre_demain." ".$annee_demain;
?>Le truc bizarre, c'est que c'est exactement ce qu'ils me disent d'écrire dans le livre, et pourtant voici ce que ça renvoi :
jeudi 27 novembre 2008, 19:02:19
Notice: Uninitialized string offset: 5 in D:\Guylou\Documents\InVivo\Site In Vivo\Sitetest2\pagephp\index.php on line 83
Demain nous serons le 28 novembre 2008
La ligne 83 en question :
$jour_lettre_demain = $jour[date("w", $demain_secondes)];
Après quelques essais divers, je me suis rendu compte que la conversion de jour en chiffre à jour en lettre s'aidant du tableau de conversion se fait pas.
Je n'aurais pas poser la question si le livre m'aurait donner la bonne réponse, mais je bloque. Je pourrais aussi faire semblant que tout va bien, mais je n'y arrive pas, si je comprends pas ça, alors pourquoi passer à la suite ? ^^
Merci.
Dernière modification par Azanek (27-11-2008 19:29:59)
Hors ligne
hello,
le prolème vient de la ligne :
//On prend le jour courant
$jour = date("j");par cette ligne, tu écrases le tableau définit avant. Du coup, quand tu essaie d'accéder au 5ème élément du tableau, ça ne fonctionne pas.
Hors ligne