Les accolades me posent beaucoup de souci HELP please

Résolu/Fermé
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017 - 7 janv. 2014 à 00:18
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 - 7 janv. 2014 à 12:03
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 dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
7 janv. 2014 à 07:46
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 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
7 janv. 2014 à 10:51
En effet, ce que propose ryko1820 est ce que tu dois faire.
0
Lucryio Messages postés 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
Modifié par Lucryio le 7/01/2014 à 11:19
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 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
7 janv. 2014 à 11:14
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 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
Modifié par Super_carotte le 7/01/2014 à 11:49
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 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
7 janv. 2014 à 11:50
tester quoi ? ^^
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
7 janv. 2014 à 11:52
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 204 Date d'inscription samedi 4 janvier 2014 Statut Membre Dernière intervention 4 juin 2017
7 janv. 2014 à 11:55
Ah mince, je l'avais pas vue elle, merci beaucoup ça fonctionne très bien vraiment merci.
0
Super_carotte Messages postés 1419 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2015 127
7 janv. 2014 à 12:03
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