[PHP] Parse error: syntax error, unexpected

Fermé
cr@pule Messages postés 25 Date d'inscription mercredi 9 janvier 2008 Statut Membre Dernière intervention 29 avril 2008 - 28 avril 2008 à 21:00
Symael.biz.st Messages postés 89 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 6 mai 2008 - 29 avril 2008 à 23:34
Bonsoir, actuellement je suis en train de coder un forume via le site du zero : https://openclassrooms.com/fr/courses

je suis arrivée a la page admin.php que j'ai nommée forum-admin.php
or celle-ci me fait une erreur :

Parse error: syntax error, unexpected $end in C:\xampp\htdocs\forum-admin.php on line 554

voici son code

<?php
$titre = "Administation du forum - l'informatique et ses reliefs";
include("includes/debut.php");
include("includes/menu.php");
$cat = htmlspecialchars($_GET['cat']); //on récupère dans l'url la variable cat
switch($cat) //1er switch
{
case "config":
//ici configuration
echo'<h1>Configuration du forum</h1>';
echo '<form method="post" action="forum-adminok.php">';

//Le tableau associatif
$config_name = array(
"avatar_maxsize" => "Taille maximale de l avatar",
"avatar_maxh" => "Hauteur maximale de l avatar",
"avatar_maxl" => "Largeur maximale de l avatar",
"sign_maxl" => "Taille maximale de la signature",
"auth_bbcode_sign" => "Autoriser le bbcode dans la signature",
"pseudo_maxsize" => "Taille maximale du pseudo",
"pseudo_minsize" => "Taille minimale du pseudo",
"topic_par_page" => "Nombre de topics par page",
"post_par_page" => "Nombre de posts par page"
);
$requete_config= mysql_query('SELECT config_nom, config_valeur FROM forum_config');
while($data_config = mysql_fetch_assoc($requete_config))
{
           echo '<p><label for='.$data_config['config_nom'].'> 
           '.$config_name[$data_config['config_nom']].' </label> : 
           <input type="text" id="'.$data_config['config_nom'].'" 
           value="'.$data_config['config_valeur'].'" 
           name="'.$config_name[$data_config['config_nom']].'"></p>'; 
}
echo '<p><input type="submit" value="Envoyer" /></p></form>';
break;

 
case "forum":
//Ici forum
$action = htmlspecialchars($_GET['action']); //On récupère la valeur de action
        switch($action) //2eme switch
        {
case "creer":
        //Création d'un forum

        //1er cas : pas de variable c
        if(empty($_GET['c']))
        {
                echo'<br /><br /><br />Que voulez-vous faire?<br />
                <a href="./forum-forum-admin.php?cat=forum&action=creer&c=f">Créer un forum</a><br />
                <a href="./forum-forum-admin.php?cat=forum&action=creer&c=c">Créer une catégorie</a></br>';
        }

        //2ème cas : on cherche à créer un forum (c=f)
        elseif($_GET['c'] == "f")
        {
                $requete = mysql_query('SELECT cat_id, cat_nom FROM forum_categorie 
                ORDER BY cat_ordre DESC');
                echo'<h1>Création d un forum</h1>';
                echo'<form method="post" action="./forum-adminok.php?cat=forum&action=creer&c=f">';
                echo'<label>Nom :</label><input type="text" id="nom" /><br /><br />
                <label>Description :</label>
                <textarea cols=40 rows=4 name="desc" id="desc"></textarea>
                <br /><br />
                <label>Catégorie : </label><select name="cat">';
                while($data = mysql_fetch_assoc($requete))
                {
                echo'<option value="'.$data['cat_id'].'">'.$data['cat_nom'].'</option>';
                }
                echo'</select><br /><br />
                <input type="submit" value="Envoyer"></form>';
        }
       
        //3ème cas : on cherche à créer une catégorie (c=c)
        elseif($_GET['c'] == "c")
        {
                echo'<h1>Création d une catégorie</h1>';
                echo'<form method="post" action="./forum-adminok.php?cat=forum&action=creer&c=c">';
                echo'<label> Indiquez le nom de la catégorie :</label> 
                <input type="text" id="nom" name="nom" /><br /><br />   
                <input type="submit" value="Envoyer"></form>';
        }
        
        break;
        
        case "edit":
        //Edition d'un forum
        break;
        
        case "droits":
        //Gestion des droits
        break;
        
        default; //action n'est pas remplie, on affiche le menu
        echo'<h1>Administration des forums</h1>';
        echo'<p>Bonjour, cher administrateur :p, que veux tu faire ?
        <br />
        <a href="./forum-forum-admin.php?cat=forum&amp;action=creer">Créer un forum</a>
        <br />
        <a href="./forum-forum-admin.php?cat=forum&amp;action=edit">Modifier un forum</a>
        <br />
        <a href="./forum-forum-admin.php?cat=forum&amp;action=droits">
        Modifier les droits d un forum</a><br /></p>';
        break;
        }
break;
 
case "membres":
//Ici membres
$action = htmlspecialchars($_GET['action']); //On récupère la valeur de action
        switch($action) //2eme switch
        {
case "edit":
        //Edition d'un forum
        echo'<h1>Edition d un forum</h1>';
        
        if(!isset($_GET['e']))
        {
                echo'<p>Que voulez vous faire ?<br />
                <a href="./forum-admin.php?cat=forum&action=edit&amp;e=editf">
                Editer un forum</a><br />
                <a href="./forum-admin.php?cat=forum&action=edit&amp;e=editc">
                Editer une catégorie</a><br />
                <a href="./forum-admin.php?cat=forum&action=edit&amp;e=ordref">
                Changer l ordre des forums</a><br />
                <a href="./forum-admin.php?cat=forum&action=edit&amp;e=ordrec">
                Changer l ordre des catégories</a>
                <br /></p>';
        }
		elseif($_GET['e'] == "editf")
        {
                //On affiche dans un premier temps la liste des forums
                if(!isset($_POST['forum']))
                {
                $requete = mysql_query('SELECT forum_id, forum_name
                FROM forum_forum ORDER BY forum_ordre DESC');
                
                echo'<form method="post" action="forum-admin.php?cat=forum&amp;action=edit&amp;e=editf">';
                echo'<p>Choisir un forum :</br /></h2>
                <select name="forum">';
                
                while($data = mysql_fetch_assoc($requete))
                {
                echo'<option value="'.$data['forum_id'].'">
                '.$data['forum_name'].'</option>';
                }
                echo'<input type="submit" value="Envoyer"></p></form>';
                }
               
                //Ensuite, on affiche les renseignements sur le forum choisi
                else
                {
                $requete1 = mysql_query('SELECT forum_id, forum_name, forum_desc, 
                forum_cat_id
                FROM forum_forum
                WHERE forum_id = "'.$_POST['forum'].'"');
                $data1 = mysql_fetch_assoc($requete1);

                echo'<p>Edition du forum
                <strong>'.$data1['forum_name'].'</strong></p>';
               
                echo'<form method="post"
                action="forum-adminok.php?cat=forum&amp;action=edit&amp;e=editf">

                <label>Nom du forum : </label><input type="text" id="nom" 
                name="nom" value="'.$data1['forum_name'].'" />
                <br />
                
                <label>Description :</label><textarea cols=40 rows=4 name="desc"
                id="desc">'.$data1['forum_desc'].'</textarea><br /><br />';
                
                //A partir d'ici, on boucle toutes les catégories, 
                //On affichera en premier celle du forum

                $requete2 = mysql_query('SELECT cat_id, cat_nom 
                FROM forum_categorie ORDER BY cat_ordre DESC');

                echo'<label>Déplacer le forum vers : </label>
                <select name="depl">';
                while($data2 = mysql_fetch_assoc($requete2))
                {
                if($data2['cat_id'] == $data1['forum_cat_id']) 
                {
                echo'<option value="'.$data2['cat_id'].'" 
                selected="selected">'.$data2['cat_nom'].'</option>';
                }
                else 
                {
                echo'<option value="'.$data2['cat_id'].'">
                '.$data2['cat_nom'].'</option>';
                }
                }
                echo'</select><input type="hidden" name="forum_id"
                value="'.$data1['forum_id'].'">';
                echo'<p><input type="submit" value="Envoyer"></p></form>';
                }
        }
		elseif($_GET['e'] == "editc")
        {
                //On commence par afficher la liste des catégories
                if(!isset($_POST['cat']))
                {
                $requete = mysql_query('SELECT cat_id, cat_nom
                FROM forum_categorie ORDER BY cat_ordre DESC');
                echo'<form method="post" 
                action="forum-forum-admin.php?cat=forum&amp;action=edit&amp;e=editc">';
                echo'<p>Choisir une catégorie :</br />
                <select name="cat">';
                while($data = mysql_fetch_assoc($requete))
                {
                echo'<option value="'.$data['cat_id'].'">
                '.$data['cat_nom'].'</option>';
                }
                echo'<input type="submit" value="Envoyer"></p></form>';
                }
          
                //Puis le formulaire
                else
                {
                $requete = mysql_query('SELECT cat_nom FROM forum_categorie
                WHERE cat_id = "'.$_POST['cat'].'"');
                $data = mysql_fetch_assoc($requete);
                echo'<form method="post" 
                action="./forum-adminok.php?cat=forum&amp;action=edit&amp;e=editc">';

                echo'<label> Indiquez le nom de la catégorie :</label> 
                <input type="text" id="nom" name="nom" 
                value="'.$data['cat_nom'].'" />
                <br /><br />    
                <input type="hidden" name="cat" value="'.$_POST['cat'].'" />
                <input type="submit" value="Envoyer" /></p></form>';
                }
        }
		elseif($_GET['e'] == "ordref")
        {
                $categorie="";
                $requete = mysql_query('SELECT forum_id, forum_name, forum_ordre, 
                forum_cat_id, cat_id, cat_nom
                FROM forum_categorie
                LEFT JOIN forum_forum ON cat_id = forum_cat_id
                ORDER BY cat_ordre DESC');

                echo'<form method="post" 
                action="forum-adminok.php?cat=forum&amp;action=edit&amp;e=ordref">';
                
                echo '<table>';

                while($data = mysql_fetch_assoc($requete))
                {
                if( $categorie != $data['cat_id'] )
                {
                        $categorie = $data['cat_id'];
                        echo'
                        <tr>       
                        <th><strong>'.$data['cat_nom'].'</strong></th>
                        <th><strong>Ordre</strong></th>
                        </tr>';
                }
                echo'<tr><td><a href="./voirforum.php?f='.$data['forum_id'].'">
                '.$data['forum_name'].'</a></td>
                <td><input type="text" value="'.$data['forum_ordre'].'" 
                name="'.$data['forum_id'].'" />
                </td></tr>';
                }
                echo'</table>
                <p><input type="submit" value="Envoyer" /></p></form>'; 
        }
		elseif($_GET['e'] == "ordrec")
        {
                $requete = mysql_query('SELECT cat_id, cat_nom, cat_ordre 
                FROM forum_categorie
                ORDER BY cat_ordre DESC');
 
                echo'<form method="post" 
                action="forum-adminok.php?cat=forum&amp;action=edit&amp;e=ordrec">';
                while($data = mysql_fetch_assoc($requete))
                {
                echo'<label>'.$data['cat_nom'].' :</label> 
                <input type="text" value="'.$data['cat_ordre'].'" 
                name="'.$data['cat_id'].'" /><br /><br />';
                }
                echo '<input type="submit" value="Envoyer" /></form>'; 
        }
        break;
        
case "droits":
        //Gestion des droits
        echo'<h1>Edition des droits</h1>';      
        
        if(!isset($_POST['forum']))
        {
                $requete = mysql_query('SELECT forum_id, forum_name
                FROM forum_forum ORDER BY forum_ordre DESC');
                echo'<form method="post" 
                action="forum-forum-admin.php?cat=forum&action=droits">';
                echo'<p>Choisir un forum :</br />
                <select name="forum">';
                while($data = mysql_fetch_assoc($requete))
                {
                        echo'<option value="'.$data['forum_id'].'">
                        '.$data['forum_name'].'</option>';
                }
                echo'<input type="submit" value="Envoyer"></p></form>';
        }
        else
        {
        $requete = mysql_query('SELECT forum_id, forum_name, auth_view,
        auth_post, auth_topic, auth_annonce, auth_modo 
        FROM forum_forum WHERE forum_id = '.$_POST['forum'].'');

        echo'<form method="post" 
        action="forum-adminok.php?cat=forum&action=droits"><p><table><tr>
        <th>Lire</th>
        <th>Répondre</th>
        <th>Poster</th>
        <th>Annonce</th>
        <th>Modérer</th>
        </tr>';
        $data = mysql_fetch_assoc($requete);
       
        //Ces deux tableaux vont permettre d'afficher les résultats
        $rang = array("Visiteur", "Membre", "Modérateur","Administrateur");
        $list_champ = array("auth_view", "auth_post", "auth_topic",
        "auth_annonce", "auth_modo");
  
        //On boucle
        foreach($list_champ as $champ)
        {
        echo'<td><select name="'.$champ.'">';
        for($i=0;$i<4;$i++)
                {
                if ($i == $data[$champ])
                {
                echo'<option value="'.$i.'"
                 selected="selected">'.$rang[$i].'</option>';
                }
                else
                {
                echo'<option value="'.$i.'">
                '.$rang[$i].'</option>';
                }
                }
        echo'</td></select>';
        }
        echo'<br /><input type="hidden" name="forum_id" 
        value="'.$data['forum_id'].'" />
        <input type="submit" value="Envoyer"></p></form>';
        }
        echo '</table>';
        break;
		case "membres":
//Ici membres
$action = $_GET['action']; //On récupère la valeur de action
        switch($action) //2ème switch
        {
        case "edit":
        //Edition d'un membre
        echo'<h1>Edition du profil d un membre</h1>';   

        if(!isset($_POST['membre'])) //Si la variable $_POST['membre'] n'existe pas
        {
                echo'De quel membre voulez-vous éditer le profil ?<br />';
                echo'<br />
                <form method="post" 
                action="./forum-forum-admin.php?cat=membres&amp;action=edit">
                <p><label for="membre">Inscrivez le pseudo : </label> 
                <input type="text" id="membre" name="membre">
                <input type="submit" name="Chercher"></p></form>';
        }
		else //sinon
        {
                $pseudo = htmlspecialchars($_POST['membre'], ENT_QUOTES);
                $pseudo = mysql_real_escape_string($pseudo);

                //Requête qui ramène des info sur le membre à 
                //Partir de son pseudo
                $requete_select = mysql_query('SELECT membre_id, 
                membre_pseudo, membre_email,
                membre_siteweb, membre_signature, 
                membre_msn, membre_localisation, membre_avatar
                FROM forum_membres WHERE membre_pseudo="'.$pseudo.'"');
                 
                //Si la requête retourne un truc, le membre existe
                if ($data_select = mysql_fetch_assoc($requete_select)) 
                {
                ?>
                <form method="post" 
                action="forum-adminok.php?cat=membres&amp;action=edit" 
                enctype="multipart/form-data">
       

                <fieldset><legend>Identifiants</legend>
                <label for="pseudo">Pseudo :</label>
                <input type="text" name="pseudo" id="pseudo" 
                value="<?php echo $data_select['membre_pseudo'] ?>" /><br />
                </fieldset>

                <fieldset><legend>Contacts</legend>
                <label for="email">Adresse E_Mail :</label>
                <input type = "text" name="email" id="email"
                value="<?php echo $data_select['membre_email'] ?>" /><br />

                <label for="msn">Adresse MSN :</label>
                <input type = "text" name="msn" id="msn"
                value="<?php echo $data_select['membre_msn'] ?>" /><br />

                <label for="website">Site web :</label>
                <input type = "text" name="website" id="website"
                value="<?php echo $data_select['membre_siteweb'] ?>"/><br />
                </fieldset>

                <fieldset><legend>Informations supplémentaire</legend>
                <label for="localisation">Localisation :</label>
                <input type = "text" name="localisation" id="localisation"
                value="<?php echo $data_select['membre_localisation'] ?>" />
                <br />
                </fieldset>
               
                <fieldset><legend>Profil sur le forum</legend>
                <label for="avatar">Changer l avatar :</label>
                <input type="file" name="avatar" id="avatar" />
                <br /><br />
                <label><input type="checkbox" name="delete" value="Delete" />
                Supprimer l avatar</label>
                Avatar actuel :
                <?php echo'
                <img src="./images/avatars/'.$data_select['membre_avatar'].'"
                alt="pas d avatar" />' ?>
     
                <br /><br />
                <label for="signature">Signature :</label>
                <textarea cols=40 rows=4 name="signature" id="signature">
                <?php echo $data_select['membre_signature'] ?></textarea>
     
                <br /></h2>
                <fieldset>
                <?php
                echo'<input type="hidden" value="'.$pseudo.'" name="pseudo">
                <input type="submit" value="Modifier le profil" /></form>';
                }
                else echo' <p>Erreur : Ce membre n existe pas, <br />
                cliquez <a href="./forum-forum-admin.php?cat=membres&amp;action=edit">ici</a>
                pour réessayez</p>';
        }
        break;
		case "droits":
        //Droits d'un membre (rang)
        echo'<h1>Edition des droits d un membre</h1>';  

        if(!isset($_POST['membre']))
        {
                echo'De quel membre voulez-vous modifier les droits ?<br />';
                echo'<br /><form method="post" 
                action="./forum-forum-admin.php?cat=membres&action=droits">
                <p><label for="membre">Inscrivez le pseudo : </label> 
                <input type="text" id="membre" name="membre">
                <input type="submit" value="Chercher"></p></form>';
        }
        else
        {
                $pseudo = htmlspecialchars($_POST['membre'], ENT_QUOTES);
                $pseudo = mysql_real_escape_string($pseudo);
                $requete_membre = mysql_query('SELECT membre_pseudo,membre_rang
                FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"');
                if ($data = mysql_fetch_assoc($requete_membre))
                {       
                echo'<form action="./forum-adminok.php?cat=membres&amp;action=droits" 
                method="post">';
				$rang = array
                (0 => "Bannis",
                1 => "Visiteur", 
                2 => "Membre", 
                3 => "Modérateur", 
                4 => "Administrateur"); //Ce tableau associe numéro de droit et nom
                echo'<label>'.$data['membre_pseudo'].'</label>';
                echo'<select name="droits">';
                for($i=0;$i<5;$i++)
                {
                if ($i == $data['membre_rang'])
                {
                echo'<option value="'.$i.'"
                selected="selected">'.$rang[$i].'</option>';
                }
                else
                {
                echo'<option value="'.$i.'">
                '.$rang[$i].'</option>';
                }
                }
                echo'</select>
                <input type="hidden" value="'.$pseudo.'" name="pseudo">               
                <input type="submit" value="Envoyer"></form>';
                }
                else echo' <p>Erreur : Ce membre n existe pas, <br />
                cliquez <a href="./forum-forum-admin.php?cat=membres&amp;action=edit">ici</a> 
                pour réessayer</p>';
        }
        break;
        
case "ban":
        //Bannissement
        echo'<h1>Gestion du bannissement</h1>'; 

        //Zone de texte pour bannir le membre
        echo'Quel membre voulez-vous bannir ?<br />';
        echo'<br />
        <form method="post" action="./forum-adminok.php?cat=membres&amp;action=ban">
        <label for="membre">Inscrivez le pseudo : </label> 
        <input type="text" id="membre" name="membre"><br />';

        //Ici, on boucle : pour chaque membre banni, on affiche une checkbox
        //Qui propose de le débannir
        $requete_bannissement = mysql_query('SELECT membre_id, membre_pseudo 
        FROM forum_membres WHERE membre_rang = 0');
        
        //Bien sur, on ne lance la suite que s'il y a des membres bannis !
        if (mysql_num_rows($requete_bannissement) > 0)
        {
                while($data = mysql_fetch_assoc($requete_bannissement))
                {
                echo'<br />
<label><a href="./voirprofil.php?action=consulter&amp;m='.$data['membre_id'].'">
                '.$data['membre_pseudo'].'</a></label>
                <input type="checkbox" name="'.$data['membre_id'].'" />
                Débannir<br />';
                }
                echo'<p><input type="submit" value="Go !" /></p></form>';
        }
        else echo' <p>Aucun membre banni pour le moment :p</p>';
        break;
        
        default; //action n'est pas remplie, on affiche le menu 
        echo'<h1>Administration des membres</h1>';
        echo'<p>Salut mon ptit, alors tu veux faire quoi ?<br />
        <a href="./forum-forum-admin.php?cat=membres&amp;action=edit">
        Editer le profil d un membre</a><br />
        <a href="./forum-forum-admin.php?cat=membres&amp;action=droits">
        Modifier les droits d un membre</a><br />
        <a href="./forum-forum-admin.php?cat=membres&amp;action=ban">
        Bannir / Debannir un membre</a><br /></p>';
        break;
        }
break;
default; //cat n'est pas remplie, on affiche le menu général
echo'<h1>Index de l administration</h1>';
echo'<p>Bienvenue sur la page d administration.<br />
<a href="./forum-forum-admin.php?cat=config">Configuration du forum</a><br />
<a href="./forum-forum-admin.php?cat=forum">Administration des forums</a><br />
<a href="./forum-forum-admin.php?cat=membres">Administration des membres</a><br /></p>';
break;
}

include("includes/pied.php");
?>



Je ne sait pas se que sa veut dire j'ai entendu qu'il fallait modifier short_open_tag il est bien sur On
A voir également:

5 réponses

sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
28 avril 2008 à 21:10
Il me semble que ton problème est que tu n'as pas fermé ton premier switch. Il te manque un } quelque part...
Du moins d'après ce que j'ai pu voir... Mais je peux me tromper...
0
cr@pule Messages postés 25 Date d'inscription mercredi 9 janvier 2008 Statut Membre Dernière intervention 29 avril 2008
28 avril 2008 à 21:22
Je vais verifier mais il me semble qu'il est fermée
0
sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
28 avril 2008 à 21:47
J'ai regardé tout ça d'un peu plus près et j'ai trouvé un autre soucis : ton premier case "membres" (ligne 108) n'a pas de break.

Et je confirme que ton premier switch n'a pas de }
0
cr@pule Messages postés 25 Date d'inscription mercredi 9 janvier 2008 Statut Membre Dernière intervention 29 avril 2008
29 avril 2008 à 17:26
je vais recommencer depuis le debut la page et je voit si sa marche.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Symael.biz.st Messages postés 89 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 6 mai 2008 5
29 avril 2008 à 23:34
Si tu essayais au moins de comprendre ce que dit l'erreur tu n'aurais pas besoin de notre aide !! Sans lire le code je peux te dire qu'il manque un } à la fin de ton code
0