Problem php : unexpected $end...

Fermé
youyou - 29 janv. 2009 à 15:47
 Utilisateur anonyme - 29 janv. 2009 à 15:55
Bonjour,

voila j'ais cette erreur apparement a la fin de mon script je ne sais pa pourquoi... :
Parse error: syntax error, unexpected $end in D:\wamp\www\tests\sitkoum\forum\admin.php on line 490
voila mon code :


<?php
switch($action):
case "config":
//ici configuration
echo'<h1>Configuration du forum</h1>';
echo '<form method="post" action="adminok.php?cat=config">';

//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="'.$data_config['config_nom'].'"></p>';
}
echo '<p><input type="submit" value="Envoyer" /></p></form>';
break;
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="./admin.php?cat=forum&action=creer&c=f">Créer un forum</a><br />
                <a href="./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="./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" name="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="./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
        echo'<h1>Edition d un forum</h1>';
        
        if(!isset($_GET['e']))
        {
                echo'<p>Que voulez vous faire ?<br />
                <a href="./admin.php?cat=forum&action=edit&amp;e=editf">
                Editer un forum</a><br />
                <a href="./admin.php?cat=forum&action=edit&amp;e=editc">
                Editer une catégorie</a><br />
                <a href="./admin.php?cat=forum&action=edit&amp;e=ordref">
                Changer l ordre des forums</a><br />
                <a href="./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="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'].'">
                '.stripslashes(htmlspecialchars($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>'.stripslashes(htmlspecialchars($data1['forum_name'])).'</strong></p>';
               
                echo'<form method="post"
                action="adminok.php?cat=forum&amp;action=edit&amp;e=editf">

                <label>Nom du forum : </label><input type="text" id="nom" 
                name="nom" value="'.stripslashes($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">'.stripslashes(htmlspecialchars($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="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="./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="'.stripslashes(htmlspecialchars($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="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>'.stripslashes(htmlspecialchars($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="adminok.php?cat=forum&amp;action=edit&amp;e=ordrec">';
                while($data = mysql_fetch_assoc($requete))
                {
                echo'<label>'.stripslashes(htmlspecialchars($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="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'].'">
                        '.stripslashes(htmlspecialchars($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="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 = htmlspecialchars($_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="./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_d = mysql_real_escape_string($_POST['membre']);

                //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_d.'"');
                 
                //Si la requête retourne un truc, le membre existe
                if ($data_select = mysql_fetch_assoc($requete_select)) 
                {
                ?>
                <form method="post" 
                action="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 stripslashes(htmlspecialchars($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 stripslashes(htmlspecialchars($data_select['membre_email'])); ?>" /><br />

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

                <label for="website">Site web :</label>
                <input type = "text" name="website" id="website"
                value="<?php echo stripslashes(htmlspecialchars($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 stripslashes(htmlspecialchars($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="'.stripslashes($pseudo).'" name="pseudo">
                <input type="submit" value="Modifier le profil" /></form>';
                }
                else { echo' <p>Erreur : Ce membre n existe pas, <br />
                cliquez <a href="./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="./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 = mysql_real_escape_string($_POST['membre']);
                $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="./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="'.stripslashes($pseudo).'" name="pseudo">               
                <input type="submit" value="Envoyer"></form>';
                }
                else echo' <p>Erreur : Ce membre n existe pas, <br />
                cliquez <a href="./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="./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'].'">
                '.stripslashes(htmlspecialchars($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;
	?>

merci
A voir également:

2 réponses

NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 513
29 janv. 2009 à 15:50
Il manque soit une accolade, soit un ; dans ton script... (et pas à la fin du script, n'importe où à l'intérieur)
Je te conseille de le mettre sous un éditeur qui te montre les accolades associées, comme ça si ce n'est pas ça il ne te restera plus qu'à chercher le ; manquant.
0
deglingo592003 Messages postés 77 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 31 janvier 2014 11
29 janv. 2009 à 15:53
j'ai pas lus le code en entier mais en fait il te situe l'erreur en fin de programme car il n'arrive pas a determiner réelement d'où vient l'erreure.

les causes sont souvent simple :

- une accolade en trop ou en moins
- un ; manquant
- une , qui est remplacer par un ; ou inverssement

vais quand même essayer de lire tout ça pour aider a trouver les possible erreur ^^
0
Utilisateur anonyme
29 janv. 2009 à 15:55
T'as oublié les points virgules quand dans ton code html tu ouvres vite fait une balise php.
Dans les echo, par exemple ligne 392, à la ligne 387, etc.
Bon courage^^
0