Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme debutant PHP

3 réponses
Avatar
Dominique
Voilà, quelques précisions: j'utilise Windows XP, avec EASY PHP1.7 comme
serveur sur ma machine. Je fais mes premiers pas avec le livre de Micro
application "PHP dynamisez votre site web"

Je souhaite voir apparaître sur une page de mon site la date du jour ave
c une "citation" qui dit: ce même jour, à une autre époque, il se passai
t tel évènement.

Alors j'ai commencé à programmer avec un livre le script qui suit. Cepen
dant, tel qu'il est, il ne s'occupe pas des mois, mais seulement des jou
rs. J'ai lu comment cumuler les variables (pour que plusieurs jours (&&)
ou (||) affichent tel message.

Moi je voudrais que l'affichage d'une phrase particulière dépende du jou
r ET du mois. Or j'ai essayé tout ce que j'ai pu pour lui demander de pr
endre en compte non seulement le jour, mais encore le mois et je n'y arr
ive pas.

Je pense qu'il s'agirait de la ligne 63. Je n'arrive pas à demander if($
jour==1) AVEC if($mois==1) sans qu'un message d'erreur apparaisse. J'ai
essayé diverses combinaisons et il me dit que la variable du mois n'est
pas définie.

Comment faire?

voici le script:

<?

/* programme date5.php */

function afficher_mois($date){

switch($date){

case "1":
print("janvier");
break;

case "2":
print("février");
break;

case "3":
print("mars");
break;

case "4":
print("avril");
break;

case "5":
print("mai");
break;

case "6":
print("juin");
break;

case "7":
print("juillet");
break;

case "8":
print("août");
break;

case "9":
print("septembre");
break;

case "10":
print("octobre");
break;

case "11":
print("novembre");
break;

case "12":
print("décembre");
break;

}

}

function afficher_citation($jour){

if($jour=="1"){
print("c'est le premier de l'an");

}

}

$jour=date("j");
$nb_mois=date("m");
$annee=date("Y");

?>

<html>
<head>
<title>Page d'accueil</title>
<meta http-equiv=Content-Type" content="text/html;
charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF">
<p align="center"><font size="+2" color=#0080FF">
Mon site web &agrave; moi !</font></p>
<p><font color=#0080FF"><i>Bienvenue sur mon site,</i></font></p>
<p><font color="#0080FF">Aujourd'hui nous sommes le
<?

print("$jour ") ;
afficher_mois($nb_mois);
print(" $annee ");

?>
</font></p>
<p><font color="#0080FF">La phrase du jour est :</font></p>
<p><font color="#0080FF">
<?
afficher_citation($jour);
?>
</font></p>
<p><font color=#0080FF">Merci de votre visite et &agrave; demain !</font
></p>
</body>
</html>

Si j'essaye d'introduire une condition avec les mois [function afficher_
citation($jour){

if(($jour=="1") && ($nb_mois=="1")){
print("c'est le premier de l'an"); ], j'obtiens le message suivant:

Notice: Undefined variable: nb_mois in c:\program files\easyphp1-7\www\c
alendrier elfique\calendrier elfique5.php on line 63

J'espère avoir été explicite.

Je vous remercie par avance pour votre réponse.

Meilleures salutations.

Dominique

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Article poste via Voila News - http://www.news.voila.fr
Le : Tue Apr 13 20:28:13 2004 depuis l'IP : 62.167.89.1 [VIP 268723554410]

3 réponses

Avatar
Thibaut Allender

function afficher_mois($date){

switch($date){

case "1":
print("janvier");
break;


deja, tu peux jeter un oeil a
http://fr.php.net/manual/fr/function.strftime.php pour voir comment
eviter de reinventer la roue ;)

$nb_moisÚte("m");


pourquoi garder le 0 initial ? utilise plutot date("n");

afficher_mois($nb_mois);


...qui fonctionnait tant bien que mal, parce que le mois etait
reconverti en numerique donc sans le 0

Si j'essaye d'introduire une condition avec les mois [function afficher_
citation($jour){

if(($jour=="1") && ($nb_mois=="1")){
print("c'est le premier de l'an"); ], j'obtiens le message suivant:

Notice: Undefined variable: nb_mois in c:program fileseasyphp1-7wwwc
alendrier elfiquecalendrier elfique5.php on line 63


ce qui est vrai, d'ou sors-tu $nb_mois ?

tu dois soit globaliser $nb_mois :

function afficher_citation($jour){
global $nb_mois;
etc...
}

soit l'envoyer en parametre:

function afficher_citation($jour,$nb_mois){
...
}


--
thibaut allender | freelance | web|system developer|designer
+32 496 26 75 76 | http://capsule.org

Avatar
Neptune
Bonjour Dominique,
A première vue, il manque le passage du paramètre mois dans la fonction :
"afficher_citation"
Remplacer : afficher_citation($jour)
Par : afficher_citation($jour, $nb_mois)
Cordialement,
Michel FOUILLADE
Concepeteur et Administrateur de :
http://www.missions-courtes.com/


"Dominique" a écrit dans le message news:
c5hbft$40v$
Avatar
Paul Delannoy
Dominique a écrit:
Voilà, quelques précisions: j'utilise Windows XP, avec EASY PHP1.7 comme
[...ZAPPE]

function afficher_citation($jour){

if($jour=="1"){
print("c'est le premier de l'an");

}

}

$jourÚte("j");
$nb_moisÚte("m");
$anneeÚte("Y");
... []

Si j'essaye d'introduire une condition avec les mois [function afficher_
citation($jour){

if(($jour=="1") && ($nb_mois=="1")){
print("c'est le premier de l'an"); ], j'obtiens le message suivant:

Notice: Undefined variable: nb_mois in c:program fileseasyphp1-7wwwc
alendrier elfiquecalendrier elfique5.php on line 63



Eh bien, oui : $nb_mois est connu du script, mais pas de la fonction !
ça marche pour $jour, valeur connue en tant qu'argument de la fonction,
mais pas pour nb_mois. 2 soluces : ajouter un arg à la fonction, ou
déclarer $nb_mois globale.