Parse error: syntax error, unexpected T_ELSE

Bonjour,
voila j'ai cette phrase comme erreur voici la partie ou il y a le probleme :
<?php
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
echo
'<p>Vous n êtes pas connecté <br />
<a href="./connexion.php">Se connecter</a><br />
<a href="./register.php">Pas encore inscrit ?</a><br /></p>';
}

?>
voila si quelqu'un pouvait me dire d'ou vient l'erreur.merci d'avance

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour
    L'erreur vient d'avant. tu as probablement quelque chose entre le if (..) {.. } et le else
    1. <?php
      if (verif_auth($data1['auth_post']))

      {
      }
      ?>
      <?php
      // Sinon, on propose de se connecter ou de s'enregistrer
      else
      {
      echo
      '<p>Vous n êtes pas connecté <br />
      <a href="./connexion.php">Se connecter</a><br />
      <a href="./register.php">Pas encore inscrit ?</a><br /></p>';
      }

      ?>

      j'ai rajouté ce qu'il y a au dessus
      merci pour votre aide
      1. Je viens de faire quelques essais et je viens de comprendre
        On n'a pas le droit de fermer et rouvrir PHP entre entre le if (..) {.. } et le else
        Autrement dit, il faut enlever ?> <?php juste avant le commentaire
        J'avoue que je ne savais pas
        1. j'essaie car j'ai plusieurs fois changer un peu le code. je te dis quoi
          1. voila je les ai enleves et ca a marché mais ca mis une autre erreur :
            Parse error: syntax error, unexpected $end
            voici la partie correspondante :
            //On affiche les pages 1-2-3 etc...
            echo '<p>Page : ';
            for ($i = 1 ; $i <= $nombreDePages ; $i++)
            1. le enexpected end ne correspond pas à une partie précise du script, il signifie qu'on est rendu à la fin alors que PHP attend encore quelque chose.
              Si ton script finit vraiment par for ($i = 1 ; $i <= $nombreDePages ; $i++)
              alors il manque le corps de la boucle (instructions entre { } , ou bien une seule instruction sans { } voire l'instruction vide point virgule ;)
              Souvent ça vient d'une accolade ouvrante { qui n'a pas d'accolade fermante } qui lui correspond