Erreur " Parse error: syntax error, unexpected '<' "

Résolu
Bonsoir,

J'ai un ptit problème au niveau de mon code sur mon site.

En faite j'empêche que les visiteurs donc ce qui ne sont pas connectés, n'ont pas le droit d'accéder au forum. Mais j'ai une erreur " Parse error: syntax error, unexpected '<' "

Voici la ligne du code :

// Début - On vérifie qu'il est bien connecté 
  
        if(!isset($_SESSION['m']['id'])) 
 { 
  include('tete.php'); 
  <div class="intCorps"> 
  
    
 <div class="bloc2"> 
 <h3><span>Connexion obligatoire</span></h3> 
 <div class="texte"> 
 <b><center><FONT COLOR="red" >Désolé, mais pour acceder aux Forums, il faut être connecté !</font></b></center><br />
 </div> 
 </div><br /> 
<div class="bloc2"> 
 <h3>Pas encore inscrit ?</h3> 
 <div class="texte"> 
 <center><b>Pour s'inscrire, <a href="inscription.php">Cliquez ici.</a></b></center> 
 </div> 
</div> 
  include('pied.php'); 
  exit; 
 } 

// Fin - On vérifie qu'il est bien connecté 


Merci de bien m'aider.

6 réponses

  1. Tu mets du langage html dans ton code php, tu ne peux pas faire ça.

    Avant d'insérer le html, tu dois fermer ton code php avec cela:
    ?>
    Ensuite, au moment où tu veux remettre un code php, tu mets:
    <?php
    1. Non mais ça c'est juste une partie de tout mon code, le <?php et le ?> son déjà sur ma page.php

      C'est juste que là je montre une seul partie.
      1. Tu as quand même un problème juste dans la partie que tu m'as montrée.

        Dès que tu ouvres ton code php avec <?php il est interdit de mettre du code html, alors que tu le fais dans la partie du code que tu m'as montré. Tu devrais plutôt voir cela:

        <?php 
        // Début - On vérifie qu'il est bien connecté    
             
                if(!isset($_SESSION['m']['id']))    
         {    
          include('tete.php');
        ?>   
          <div class="intCorps">    
             
               
         <div class="bloc2">    
         <h3><span>Connexion obligatoire</span></h3>    
         <div class="texte">    
         <b><center><FONT COLOR="red" >Désolé, mais pour acceder aux Forums, il faut être connecté !</font></b></center><br />   
         </div>    
         </div><br />    
        <div class="bloc2">    
         <h3>Pas encore inscrit ?</h3>    
         <div class="texte">    
         <center><b>Pour s'inscrire, <a href="inscription.php">Cliquez ici.</a></b></center>    
         </div>    
        </div>    
        <?php   
          include('pied.php');    
          exit;    
         }    
        
        // Fin - On vérifie qu'il est bien connecté    
        ?> 
        


        Tu vois la différence?
        1. Bonsoir :
          <?php
          // Début - On vérifie qu'il est bien connecté
          if(!isset($_SESSION['m']['id'])) {
          	include('tete.php');
          ?>
          	<div class="intCorps">
          		<div class="bloc2">
          			<h3><span>Connexion obligatoire</span></h3>
          			<div class="texte">
          				<?php avert('<b><center><FONT COLOR="red" >Désolé, mais pour acceder aux Forums, il faut être connecté !</font></b></center><br />'); ?>
          			</div>
          		</div><br />
          		<div class="bloc2">
          			<h3>Pas encore inscrit ?</h3>
          			<div class="texte">
          				<center><b>Pour s'inscrire, <a href="inscription.php">Cliquez ici.</a></b></center>
          			</div>
          		</div>
          <?php
          	include('pied.php');
          	exit;
          }
          // Fin - On vérifie qu'il est bien connecté
          ?>

          P.S : si la fonction avert() est une fonction PHP, tu dois l'entourer de balises PHP comme je l'ai fait dans le code ci-dessus, si c'est une fonction javascript, tu dois remplacer les balises PHP par celle de javascript.
          1. Non en faite le avert() est une erreur, j'ai même redit mon message.

            Par contre j'essaye votre code et ça me fais toujours la même erreur.
          2. À la même ligne ou à une ligne différente cette-fois ci? Tu as peut-être une erreur ailleurs dans ton code.
          3. La même Ligne
          4. Alors l'erreur de syntaxe se trouve dans la partie de code que tu n'as pas mis ici...
        2. <?php
          include('base.php');
          
          
          $reponse = mysql_unbuffered_query('SELECT titre FROM forum WHERE id=\'' . $_GET['id'] . '\'');
          $donnees = mysql_fetch_assoc($reponse);
          $titreDuForum = $donnees['titre'];
          
          $_SESSION['forum_lu' . $_GET['id']] = time() + 1; // Ce topic est lu puisqu'on est dessus
          
          // Lien dans le menu quand on est modo ou admin
          $menu_modo_forum = '					
          <li><a href="Javascript:void(0)" onclick="Check_all(\'checktopic\', true); return false;">Tout cocher</a></li>
          <li><a href="Javascript:void(0)" onclick="Check_all(\'checktopic\', false); return false;">Tout décocher</a></li>
          </ul>
          ';
          
          // Début - On vérifie qu'il est bien connecté
          	
                  <?php 
          // Début - On vérifie qu'il est bien connecté    
               
                  if(!isset($_SESSION['m']['id']))    
           {    
            include('tete.php');
          ?>   
            <div class="intCorps">    
               
                 
           <div class="bloc2">    
           <h3><span>Connexion obligatoire</span></h3>    
           <div class="texte">    
           <b><center><FONT COLOR="red">Désolé, mais pour acceder aux Forums, il faut être connecté !</font></b></center><br />   
           </div>    
           </div><br />    
          <div class="bloc2">    
           <h3>Pas encore inscrit ?</h3>    
           <div class="texte">    
           <center><b>Pour s'inscrire, <a href="inscription.php">Cliquez ici.</a></b></center>    
           </div>    
          </div>    
          <?php   
            include('pied.php');    
            exit;    
           }    
          
          // Fin - On vérifie qu'il est bien connecté    
          ?> 
          

          C'est bon là ?
          1. Tu as un problème dans tes balises php. Voici ce que tu devrais avoir à la place:
            <?php
            include('base.php');
            
            
            $reponse = mysql_unbuffered_query('SELECT titre FROM forum WHERE id=\'' . $_GET['id'] . '\'');
            $donnees = mysql_fetch_assoc($reponse);
            $titreDuForum = $donnees['titre'];
            
            $_SESSION['forum_lu' . $_GET['id']] = time() + 1; // Ce topic est lu puisqu'on est dessus
            
            // Lien dans le menu quand on est modo ou admin
            $menu_modo_forum = '
            <li><a href="Javascript:void(0)" onclick="Check_all(\'checktopic\', true); return false;">Tout cocher</a></li>
            <li><a href="Javascript:void(0)" onclick="Check_all(\'checktopic\', false); return false;">Tout décocher</a></li>
            </ul>
            ';
            
            // Début - On vérifie qu'il est bien connecté
            	
                    if(!isset($_SESSION['m']['id']))    
             {    
              include('tete.php');
            ?>   
              <div class="intCorps">    
                 
                   
             <div class="bloc2">    
             <h3><span>Connexion obligatoire</span></h3>    
             <div class="texte">    
             <b><center><FONT COLOR="red">Désolé, mais pour acceder aux Forums, il faut être connecté !</font></b></center><br />   
             </div>    
             </div><br />    
            <div class="bloc2">    
             <h3>Pas encore inscrit ?</h3>    
             <div class="texte">    
             <center><b>Pour s'inscrire, <a href="inscription.php">Cliquez ici.</a></b></center>    
             </div>    
            </div>    
            <?php   
              include('pied.php');    
              exit;    
             }    
            
            // Fin - On vérifie qu'il est bien connecté    
            ?> 
            


            Je ne comprends pas cependant quelque chose au niveau de la variable $menu_modo_forum... tu lui attribues un code html pour le réutiliser plus tard?
            1. $menu_modo_forum c'est une variable que je met sur le reste de la page PHP.
            2. As-tu corrigé le code par celui que je t'ai donné? As-tu toujours une erreur?