Les accolades me posent beaucoup de souci HELP please

Résolu
Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention   -  
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir, voila le code d'où les accolades me posent problème :

<?php
$time = date('m');
if($time == 01)
			{
			echo'
			<li class="current"><a href="calendrier-janvier.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 02)
			echo'<li class="current"><a href="calendrier-fevrier.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 03)
			echo'<li class="current"><a href="calendrier-mars.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 04)
			echo'<li class="current"><a href="calendrier-avril.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 05)
			echo'<li class="current"><a href="calendrier-mai.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 06)
			echo'<li class="current"><a href="calendrier-juin.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 07)
			echo'<li class="current"><a href="calendrier-juillet.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 08)
			echo'<li class="current"><a href="calendrier-aout.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 09)
			echo'<li class="current"><a href="calendrier-septembre.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 10)
			echo'<li class="current"><a href="calendrier-octobre.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 11)
			echo'<li class="current"><a href="calendrier-novembre.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
if($time == 12)
			echo'<li class="current"><a href="calendrier-decembre.php">Calendrier de l\'avent</a></li>';
			}
			else
			{
			echo'Vous n\'avez pas accés au calendrier des cadeaux pour le moment';
			}
			?>


est-ce que quelqu'un aurais une âme charitable pour corriger mes accolades s'il vous plait ?

Je galère vraiment avec ce genre de truc.

Merci beaucoup par avance.

4 réponses

ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Hello,

Plutôt que de corriger, je me demande si il ne serait pas mieux de te suggérer d'utiliser un switch/case ( https://www.php.net/manual/fr/control-structures.switch.php ) qui me parait une structure de contrôle plus adaptée à ce que tu essayes de faire ... ou au moins du if/elseif (https://www.php.net/manual/fr/control-structures.elseif.php ...


$time = date('m');
switch ($time) {
    case "01":
        <li class="current"><a href="calendrier-janvier.php">Calendrier de l\'avent</a></li>';
        break;
    case "02":
        <li class="current"><a href="calendrier-fevrier.php">Calendrier de l\'avent</a></li>';
        break;
    case "03":
        <li class="current"><a href="calendrier-fevrier.php">Calendrier de l\'avent</a></li>';
        break;

...

etc

...

}

1
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
En effet, ce que propose ryko1820 est ce que tu dois faire.
0
Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention  
 
Merci à vous, je vais tester et je vous dis

Alors, j'ai tésté, ce qui me donne :

<?php
			$time = date('m');
switch ($time) {
		case "01":
        '<li class="current"><a href="calendrier-janvier.php">Calendrier des cadeaux</a></li>';
        break;
		case "02":
        '<li class="current"><a href="calendrier-fevrier.php">Calendrier des cadeaux</a></li>';
        break;
		case "03":
        '<li class="current"><a href="calendrier-mars.php">Calendrier des cadeaux</a></li>';
        break;
		case "04":
        '<li class="current"><a href="calendrier-avril.php">Calendrier des cadeaux</a></li>';
        break;
		case "05":
        '<li class="current"><a href="calendrier-mai.php">Calendrier des cadeaux</a></li>';
        break;
		case "06":
        '<li class="current"><a href="calendrier-juin.php">Calendrier des cadeaux</a></li>';
        break;
		case "07":
        '<li class="current"><a href="calendrier-juillet.php">Calendrier des cadeaux</a></li>';
        break;
		case "08":
        '<li class="current"><a href="calendrier-aout.php">Calendrier des cadeaux</a></li>';
        break;
		case "09":
        '<li class="current"><a href="calendrier-septembre.php">Calendrier des cadeaux</a></li>';
        break;
		case "10":
        '<li class="current"><a href="calendrier-octobre.php">Calendrier des cadeaux</a></li>';
        break;
		case "11":
        '<li class="current"><a href="calendrier-novembre.php">Calendrier des cadeaux</a></li>';
        break;
		case "12":
        '<li class="current"><a href="calendrier-decembre.php">Calendrier des cadeaux</a></li>';
        break;
		}
		?>


Mais il ne m'affiche pas le lien "calendrier des cadeaux" sachant qu'on est en janvier donc "$time" = 01 il ne m'affiche rien aucun lien.

une idée ?
0
Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention  
 
Alors ce que ça me donne en code :

<div id="main">	
	<div id="site_content">
      <div id="site_heading">
	    <h1>Événements de l'équipe FC LUCRYIO</h1>	
	    <h2>Quizz, Tournois, Pendu, Autre jeux, c'est ici que tous se passe.</h2>
	  </div><!--close site_heading-->
	  <div id="header">
	    <div id="menubar">
          <ul id="menu">
            <li class="current"><a href="index.php">Accueil</a></li>
			<li>
				<a href="#">Star du foot</a>
				<ul>
					<li><a href="http://www.stardufoot.com/">Accéder au jeu</a></li>
					<li><a href="http://www.stardufoot.com/forum/">Accéder au forum</a></li>
					<li><a href="">Devenir fan (bientôt dispo)</a></li>
					<li><a href="http://www.stardufoot.com/forum/t18036,1-guide-total-de-stardufoot.htm">Guide total de SDF</a></li>
					<li><a href="http://www.stardufoot.com/forum/help.php#bbcode">Liste des bbcodes</a></li>
					<li><a href="http://www.stardufoot.com/#faq/list">FAQ du jeu</a></li>
					<li><a href="http://www.stardufoot.com/wiki/index.php/Accueil">Wiki de stardufoot</a></li>
				</ul>				
			</li>	
			<li>
				<a href="#">FC LUCRYIO</a>
				<ul>
					<li><a href="">Topic de l'équipe (bientôt diso)</a></li>
					<li><a href="">Page de l'équipe (bientôt diso)</a></li>
					<li><a href="http://www.stardufoot.com/forum/t35221,1-projet-officiel-mai-gros-projet-en-perspecive-a-ne-pas-rater.htm">Topic de recrutement</a></li>
					<li><a href="chat/chat" target="_blank">Accéder au chat</a></li>
					<li><a href="compo.php">Composition d'équipe</a></li>
					<li><a href="historique.php">Historique de l'équipe</a></li>
					<li><a href="objet.php">Équipements du club</a></li>
					<li><a href="description.php">Déscription de l'équipe</a></li>
				</ul>				
			</li>	
           <li>
		<a href="#">Contact</a>
		<ul>
			<li>
				<a href="formulaire.php">Par formulaire de contact</a>	
			</li>
			<li>
				<a href="mail.php">Par mail</a>	
			</li>
			<li>
				<a href="contact/chat" target="_blank">Par chat</a>	
			</li>
			</ul>
			<li class="current"><a href="hebergeur.php">Hebergeur</a></li>
			<?php
			$time = date('m');
switch ($time) {
		case "01":
        '<li class="current"><a href="calendrier-janvier.php">Calendrier des cadeaux</a></li>';
        break;
		case "02":
        '<li class="current"><a href="calendrier-fevrier.php">Calendrier des cadeaux</a></li>';
        break;
		case "03":
        '<li class="current"><a href="calendrier-mars.php">Calendrier des cadeaux</a></li>';
        break;
		case "04":
        '<li class="current"><a href="calendrier-avril.php">Calendrier des cadeaux</a></li>';
        break;
		case "05":
        '<li class="current"><a href="calendrier-mai.php">Calendrier des cadeaux</a></li>';
        break;
		case "06":
        '<li class="current"><a href="calendrier-juin.php">Calendrier des cadeaux</a></li>';
        break;
		case "07":
        '<li class="current"><a href="calendrier-juillet.php">Calendrier des cadeaux</a></li>';
        break;
		case "08":
        '<li class="current"><a href="calendrier-aout.php">Calendrier des cadeaux</a></li>';
        break;
		case "09":
        '<li class="current"><a href="calendrier-septembre.php">Calendrier des cadeaux</a></li>';
        break;
		case "10":
        '<li class="current"><a href="calendrier-octobre.php">Calendrier des cadeaux</a></li>';
        break;
		case "11":
        '<li class="current"><a href="calendrier-novembre.php">Calendrier des cadeaux</a></li>';
        break;
		case "12":
        '<li class="current"><a href="calendrier-decembre.php">Calendrier des cadeaux</a></li>';
        break;
		?>
	</li>
		</ul>
	</li>
          </ul>
        </div><!--close menubar-->
      </div><!--close header-->	  
	  </div>
	  </div>


Il m'affiche cette erreur :

Parse error: syntax error, fin de fichier inattendue dans C: \ wamp \ www \ FC-LUCRYIO \ menu.php on line 97


une idée ? car, toutes mes balises sont fermées.
0
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
Va savoir pourquoi, je n'arrivai pas a répondre au sujet... vieu bug.
Bonjour.

Tes erreurs:
1- Acolade du switch non fermé d'ou le message d'erreure.
2- Oubli des echo dans tes case pour aficher le texte.

Correction:

<?php

$time = date('m');
switch ($time) {
case "01":
echo '<li class="current"><a href="calendrier-janvier.php">Calendrier des cadeaux</a></li>';
break;
case "02":
echo '<li class="current"><a href="calendrier-fevrier.php">Calendrier des cadeaux</a></li>';
break;
case "03":
echo '<li class="current"><a href="calendrier-mars.php">Calendrier des cadeaux</a></li>';
break;
case "04":
echo '<li class="current"><a href="calendrier-avril.php">Calendrier des cadeaux</a></li>';
break;
case "05":
echo '<li class="current"><a href="calendrier-mai.php">Calendrier des cadeaux</a></li>';
break;
case "06":
echo '<li class="current"><a href="calendrier-juin.php">Calendrier des cadeaux</a></li>';
break;
case "07":
echo '<li class="current"><a href="calendrier-juillet.php">Calendrier des cadeaux</a></li>';
break;
case "08":
echo '<li class="current"><a href="calendrier-aout.php">Calendrier des cadeaux</a></li>';
break;
case "09":
echo '<li class="current"><a href="calendrier-septembre.php">Calendrier des cadeaux</a></li>';
break;
case "10":
echo '<li class="current"><a href="calendrier-octobre.php">Calendrier des cadeaux</a></li>';
break;
case "11":
echo '<li class="current"><a href="calendrier-novembre.php">Calendrier des cadeaux</a></li>';
break;
case "12":
echo '<li class="current"><a href="calendrier-decembre.php">Calendrier des cadeaux</a></li>';
break;
}
?>
0
Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention  
 
tester quoi ? ^^
0
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
Je n'arrivai pas a répondre. bug. J'ai mis la réponse a ta question juste au dessus.
0
Lucryio Messages postés 206 Date d'inscription   Statut Membre Dernière intervention  
 
Ah mince, je l'avais pas vue elle, merci beaucoup ça fonctionne très bien vraiment merci.
0
Super_carotte Messages postés 1420 Date d'inscription   Statut Membre Dernière intervention   127
 
Par contre, je te conseil de modifier ton code comme ceci:
Supprimer le switch et mettre a la place:
<?php
$time = date('m');
echo "<li class='current'><a href='calendrier.php?mois=".$time.">Calendrier des cadeaux</a></li>";
?>

ça te permettra de n'avoir qu'un fichier "calendrier.php" au lieu d'un pour chaque mois.
Et dans ce fichier calendrier.php tu commence par:
$mois = $_GET['mois'];
et la tu fais un switch et tu affiches ce que tu veux en fonction de la valeur du mois.
ça te permettra de ne pas avoir 12 fichiers avec beaucoup de code copié collé.
Si tu veux plus d'infos, n'hesite pas a demander.
0