Probleme avecsyntax error, unexpected T_ELSE
Akoo
-
akoo -
akoo -
Bonjour,
j'ai un probleme avec mon code d'index ...
j'ai cette erreur :
Parse error: syntax error, unexpected T_ELSE in /home/web/niloo.fr/war/htdocs/www/index.php on line 156
et voici mon code :
J'ai mis en gras le else et le if qui pose problème (Ils vont ensenbles)
j'ai un probleme avec mon code d'index ...
j'ai cette erreur :
Parse error: syntax error, unexpected T_ELSE in /home/web/niloo.fr/war/htdocs/www/index.php on line 156
et voici mon code :
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<title>index</title><body><img name="Accueil" src="" width="32" height="32" alt="" style="background-color: #FF3366">
<div id="banniere"></div>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
?>
<div id="corps_forum">
<?php
//exit('Désolé mais le forum rencontre un problème technique ! repassez plus tard =)');
// On indique où l'on se trouve
echo'<a href ="./accueil.html">Index du forum</a>';
// Puis on commence notre if
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
//Voici les options
echo'<p>Vous êtes connecté en tant que
<a href="./voirprofil.php?m='.$_SESSION['id'].'&action=consulter">
'.$_SESSION['pseudo'].'</a><br />
<a href="./voirprofil.php?action=modifier">
Modifier mon profil</a><br />
<a href="./messagesprives.php">
<blink>/!\En construction</blink> Consulter mes messages privés</a><br />
<a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
}
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
echo'<br /><br /><b>Attention vous n\'êtes pas connecté !</b>
<p><a href="./connexion.php">Se connecter</a><br />
<a href="./register.php">S\'inscrire</a><br /></p>';
}
?>
<br /><br />
<?php
//Initialisation de deux variables
$totaldesmessages = 0;
$categorie = "";
//Cette requete permet d'obtenir tout sur le forum
$requete2 = mysql_query('
SELECT cat_id, cat_nom,
forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id,
post_time, post_createur, membre_pseudo,
membre_id
FROM forum_categorie
LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id
LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
ORDER BY cat_ordre, forum_ordre DESC');
?>
<?php
//POUR REMETTRE EN ROUTE SUPPRIMER $requete2=0 et enlever les com au dessus =)
//Dans un premier temps, on vérifie s'il y a des forums à lister
if (mysql_num_rows($requete2) < 1)
{
echo'<center><h1>Désolé mais ce forum est en construction ! </h1> <br />Il n y a pas de forum :o <br />Repassez =)';
}
else
{
?>
<table>
<?php
function verif_auth($auth_necessaire)
{
//Dans un premier temps, on vérifie si le membre est connecté
if(isset($_SESSION['id'])) $auth = $_SESSION['level'];
else $auth = 1;
if ($auth_necessaire < $auth) return true;
else return false;
}
//Début de la boucle
while($data2 = mysql_fetch_assoc($requete2))
{
//Si c'est une nouvelle catégorie on l'affiche
if(verif_auth($data2['auth_view']))// Securité d'affichage
{
//On affiche chaque catégorie
if( $categorie != $data2['cat_id'] )
{
$categorie = $data2['cat_id'];
?>
<tr>
<th></th>
<th class="titre"><strong><?php echo $data2['cat_nom']; ?>
</strong></th>
<th class="nombremessages"><strong>Sujets</strong></th>
<th class="nombresujets"><strong>Messages</strong></th>
<th class="derniermessage"><strong>Dernier message</strong></th>
</tr>
<?php
}
//Ici, on met le contenu de chaque catégorie
// Ce super echo de la mort affiche tous
// les forums en détail : description, nombre de réponses etc...
echo'<tr><br /><td><img src="./images/message.gif" alt="message" /></td>
<td class="titre"><strong>
<a href="./voirforum.php?f='.$data2['forum_id'].'">
'.$data2['forum_name'].'</a></strong>
<br />'.$data2['forum_desc'].'</td>
<td class="nombresujets">'.$data2['forum_topic'].'</td>
<td class="nombremessages">'.$data2['forum_post'].'</td>';
// Deux cas possibles :
// Soit il y a un nouveau message, soit le forum est vide
if (!empty($data2['forum_post']))
{
echo'<td class="derniermessage">
'.date('H\hi \l\e d/M/Y',$data2['post_time']).'<br />
<a href="./voirprofil.php?m='.$data2['post_createur'].'&action=consulter">
'.$data2['membre_pseudo'].' </a>
<a href="./voirtopic.php?t='.$data2['topic_id'].'">
<img src="./images/go.gif" alt="aller voir le message " /></a></td></tr>';
}
else
{
echo'<td class="nombremessages">Pas de message</td></tr>';
}
//Cette variable stock le nombre de message, on la met à jour
$totaldesmessages = $totaldesmessages + $data2['forum_post'];
//On ferme notre boucle et nos balises
} //fin de la boucle
}
else
{
echo'Désolé mais vous ne pouvez pas voir ces forums ! =)';
}
}//fin du else
echo '</table> <br />';
include("includes/bas.php");
//Fin de la vérification d'autorisation
?>
</body>
J'ai mis en gras le else et le if qui pose problème (Ils vont ensenbles)
A voir également:
- Probleme avecsyntax error, unexpected T_ELSE
- Eespt technical error ✓ - Forum TNT / Satellite / Réception
- Fan error lenovo - Forum PC portable
- Pointage antenne trop faible - Forum Box et Streaming vidéo
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Error 1962 ✓ - Forum PC fixe
5 réponses
Oulala, c'est le bazar ton truc-là. C'est indenté n'importe comment et i'a des trucs je suis pas sûr que ça marche (genre ?> en plein milieu d'une boucle if, mais bon ça doit se faire puisque php ne bronche pas à ce sujet).
En fait si tu avais indenté correctement tu te serais aperçu que le else de la ligne 156 s'applique au while de la ligne 94 et non au if que tu as mis en gras.
En gros tu as fait ça :
Aussi il te manque (au moins) les balises html et head.
En fait si tu avais indenté correctement tu te serais aperçu que le else de la ligne 156 s'applique au while de la ligne 94 et non au if que tu as mis en gras.
En gros tu as fait ça :
<?php
while($data2 = mysql_fetch_assoc($requete2))
{
//Instructions à faire
}
else //Ligne 156
{
//Autres instructions
}
Aussi il te manque (au moins) les balises html et head.
Salut,
ton code n'est pas bien indenté, ou il ressort ainsi sur le forum, donc difficile à débogger
j'ai retrouvé une } manquante dans ce secteur:
une autre remarque concernant ta fonction elle ne devrait pas se trouver au milieu du code mais au début et mets aussi des { dedans pour les if car il suffit que tu veuilles un jour rajouter une ligne ou un echo et t'es coincé.
ton code n'est pas bien indenté, ou il ressort ainsi sur le forum, donc difficile à débogger
j'ai retrouvé une } manquante dans ce secteur:
//On ferme notre boucle et nos balises } } //fin de la boucle
une autre remarque concernant ta fonction elle ne devrait pas se trouver au milieu du code mais au début et mets aussi des { dedans pour les if car il suffit que tu veuilles un jour rajouter une ligne ou un echo et t'es coincé.
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
<head>
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");</head>
?>
<title>index</title><body><img name="Accueil" src="" width="32" height="32" alt="" style="background-color: #FF3366">
<div id="banniere"></div>
<body>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
?>
<div id="corps_forum">
<?php
//exit('Désolé mais le forum rencontre un problème technique ! repassez plus tard =)');
function verif_auth($auth_necessaire)
{
//Dans un premier temps, on vérifie si le membre est connecté
if(isset($_SESSION['id'])) $auth = $_SESSION['level'];
else $auth = 1;
if ($auth_necessaire < $auth) return true;
else return false;
}
// On indique où l'on se trouve
echo'<a href ="./accueil.html">Index du forum</a>';
// Puis on commence notre if
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
//Voici les options
echo'<p>Vous êtes connecté en tant que
<a href="./voirprofil.php?m='.$_SESSION['id'].'&action=consulter">
'.$_SESSION['pseudo'].'</a><br />
<a href="./voirprofil.php?action=modifier">
Modifier mon profil</a><br />
<a href="./messagesprives.php">
<blink>/!\En construction</blink> Consulter mes messages privés</a><br />
<a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
}
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
echo'<br /><br /><b>Attention vous n\'êtes pas connecté !</b>
<p><a href="./connexion.php">Se connecter</a><br />
<a href="./register.php">S\'inscrire</a><br /></p>';
}
?>
<br /><br />
<?php
//Initialisation de deux variables
$totaldesmessages = 0;
$categorie = "";
//Cette requete permet d'obtenir tout sur le forum
$requete2 = mysql_query('
SELECT cat_id, cat_nom,
forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id,
post_time, post_createur, membre_pseudo,
membre_id
FROM forum_categorie
LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id
LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
ORDER BY cat_ordre, forum_ordre DESC');
?>
<?php
//POUR REMETTRE EN ROUTE SUPPRIMER $requete2=0 et enlever les com au dessus =)
//Dans un premier temps, on vérifie s'il y a des forums à lister
if (mysql_num_rows($requete2) < 1)
{
echo'<center><h1>Désolé mais ce forum est en construction ! </h1> <br />Il n y a pas de forum :o <br />Repassez =)';
}
else
{
?>
<table>
<?php
//Début de la boucle
while($data2 = mysql_fetch_assoc($requete2))
{
//Si c'est une nouvelle catégorie on l'affiche
if(verif_auth($data2['auth_view']))// Securité d'affichage
{
//On affiche chaque catégorie
if( $categorie != $data2['cat_id'] )
{
$categorie = $data2['cat_id'];
?>
<tr>
<th></th>
<th class="titre"><strong><?php echo $data2['cat_nom']; ?>
</strong></th>
<th class="nombremessages"><strong>Sujets</strong></th>
<th class="nombresujets"><strong>Messages</strong></th>
<th class="derniermessage"><strong>Dernier message</strong></th>
</tr>
<?php
}
//Ici, on met le contenu de chaque catégorie
// Ce super echo de la mort affiche tous
// les forums en détail : description, nombre de réponses etc...
echo'<tr><br /><td><img src="./images/message.gif" alt="message" /></td>
<td class="titre"><strong>
<a href="./voirforum.php?f='.$data2['forum_id'].'">
'.$data2['forum_name'].'</a></strong>
<br />'.$data2['forum_desc'].'</td>
<td class="nombresujets">'.$data2['forum_topic'].'</td>
<td class="nombremessages">'.$data2['forum_post'].'</td>';
// Deux cas possibles :
// Soit il y a un nouveau message, soit le forum est vide
if (!empty($data2['forum_post']))
{
echo'<td class="derniermessage">
'.date('H\hi \l\e d/M/Y',$data2['post_time']).'<br />
<a href="./voirprofil.php?m='.$data2['post_createur'].'&action=consulter">
'.$data2['membre_pseudo'].' </a>
<a href="./voirtopic.php?t='.$data2['topic_id'].'">
<img src="./images/go.gif" alt="aller voir le message " /></a></td></tr>';
}
else
{
echo'<td class="nombremessages">Pas de message</td></tr>';
}
//Cette variable stock le nombre de message, on la met à jour
$totaldesmessages = $totaldesmessages + $data2['forum_post'];
} //On ferme notre boucle et nos balises
} //fin de la boucle
}
else
{
echo'Désolé mais vous ne pouvez pas voir ces forums ! =)';
}
}//fin du else
echo '</table> <br />';
include("includes/bas.php");
//Fin de la vérification d'autorisation
?>
</body>
La c'est mieux ? PS indenté = gné ??? =)
il y a effectivement un } en trop je n'ai pas approfondi par rapport à tes if else
regardes, je t'ai mis un commentaire
regardes, je t'ai mis un commentaire
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
?>
<html>
<head>
<?php
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<title>index</title><body><img name="Accueil" src="" width="32" height="32" alt="" style="background-color: #FF3366">
<div id="banniere"></div>
</head>
<body>
<?php
function verif_auth($auth_necessaire){
//Dans un premier temps, on vérifie si le membre est connecté
if(isset($_SESSION['id'])) {
$auth = $_SESSION['level'];
}else{
$auth = 1;
}
if ($auth_necessaire < $auth){
return true;
}else{
return false;
}
}
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
?>
<div id="corps_forum">
<?php
//exit('Désolé mais le forum rencontre un problème technique ! repassez plus tard =)');
// On indique où l'on se trouve
echo'<a href ="./accueil.html">Index du forum</a>';
// Puis on commence notre if
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
//Voici les options
echo'<p>Vous êtes connecté en tant que
<a href="./voirprofil.php?m='.$_SESSION['id'].'&action=consulter">
'.$_SESSION['pseudo'].'</a><br />
<a href="./voirprofil.php?action=modifier">
Modifier mon profil</a><br />
<a href="./messagesprives.php">
<blink>/!\En construction</blink> Consulter mes messages privés</a><br />
<a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
}
// Sinon, on propose de se connecter ou de s'enregistrer
else
{
echo'<br /><br /><b>Attention vous n\'êtes pas connecté !</b>
<p><a href="./connexion.php">Se connecter</a><br />
<a href="./register.php">S\'inscrire</a><br /></p>';
}
?>
<br /><br />
<?php
//Initialisation de deux variables
$totaldesmessages = 0;
$categorie = "";
//Cette requete permet d'obtenir tout sur le forum
$requete2 = mysql_query('
SELECT cat_id, cat_nom,
forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id,
post_time, post_createur, membre_pseudo,
membre_id
FROM forum_categorie
LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id
LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur
ORDER BY cat_ordre, forum_ordre DESC');
?>
<?php
//POUR REMETTRE EN ROUTE SUPPRIMER $requete2=0 et enlever les com au dessus =)
//Dans un premier temps, on vérifie s'il y a des forums à lister
if (mysql_num_rows($requete2) < 1)
{
echo'<center><h1>Désolé mais ce forum est en construction ! </h1> <br />Il n y a pas de forum :o <br />Repassez =)';
}
else
{
?>
<table>
<?php
//Début de la boucle
while($data2 = mysql_fetch_assoc($requete2))
{
//Si c'est une nouvelle catégorie on l'affiche
if(verif_auth($data2['auth_view']))// Securité d'affichage
{
//On affiche chaque catégorie
if( $categorie != $data2['cat_id'] )
{
$categorie = $data2['cat_id'];
?>
<tr>
<th></th>
<th class="titre"><strong><?php echo $data2['cat_nom']; ?>
</strong></th>
<th class="nombremessages"><strong>Sujets</strong></th>
<th class="nombresujets"><strong>Messages</strong></th>
<th class="derniermessage"><strong>Dernier message</strong></th>
</tr>
<?php
}
//Ici, on met le contenu de chaque catégorie
// Ce super echo de la mort affiche tous
// les forums en détail : description, nombre de réponses etc...
echo'<tr><br /><td><img src="./images/message.gif" alt="message" /></td>
<td class="titre"><strong>
<a href="./voirforum.php?f='.$data2['forum_id'].'">
'.$data2['forum_name'].'</a></strong>
<br />'.$data2['forum_desc'].'</td>
<td class="nombresujets">'.$data2['forum_topic'].'</td>
<td class="nombremessages">'.$data2['forum_post'].'</td>';
// Deux cas possibles :
// Soit il y a un nouveau message, soit le forum est vide
if (!empty($data2['forum_post']))
{
echo'<td class="derniermessage">
'.date('H\hi \l\e d/M/Y',$data2['post_time']).'<br />
<a href="./voirprofil.php?m='.$data2['post_createur'].'&action=consulter">
'.$data2['membre_pseudo'].' </a>
<a href="./voirtopic.php?t='.$data2['topic_id'].'">
<img src="./images/go.gif" alt="aller voir le message " /></a></td></tr>';
}
else
{
echo'<td class="nombremessages">Pas de message</td></tr>';
}
//Cette variable stock le nombre de message, on la met à jour
$totaldesmessages = $totaldesmessages + $data2['forum_post'];
} //On ferme notre boucle et nos balises
} //fin de la boucle
}
else
{
echo 'Désolé mais vous ne pouvez pas voir ces forums ! =)';
}
}//fin du else //la un PB c'est la fin de quel else ??????
echo '</table> <br />';
include("includes/bas.php");
//Fin de la vérification d'autorisation
?>
</body>
<html>
https://fr.wikipedia.org/wiki/Indentation#Informatique
Non, ne fout pas la balise <head> en plein milieu d'un code php !
Et non c'est pas bon, j'ai pas regardé où mais déjà, il y a un } de trop (il y en a 12 pour 11 {)
Non, ne fout pas la balise <head> en plein milieu d'un code php !
<?php //Contenu php pour la session ?> <html> <head> <!--Contenu--> </head> <body> <?php //Contenu php pour le corps ?> </body> </html>
Et non c'est pas bon, j'ai pas regardé où mais déjà, il y a un } de trop (il y en a 12 pour 11 {)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question