A voir également:
- Probleme avecsyntax error, unexpected T_ELSE
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Fan error lenovo - Forum Refroidissement
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Error 10 pioneer ✓ - Forum Autoradio
- Whea error occt - Forum Processeur
5 réponses
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 331
2 août 2008 à 14:28
2 août 2008 à 14:28
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.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
2 août 2008 à 14:29
2 août 2008 à 14:29
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é ??? =)
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
2 août 2008 à 17:31
2 août 2008 à 17:31
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>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
2 août 2008 à 17:32
2 août 2008 à 17:32
petite rectif à la fin ce n'est pas <html> mais </html>
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 331
2 août 2008 à 16:12
2 août 2008 à 16:12
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