Erreur php

Résolu/Fermé
Minioit - 15 juil. 2009 à 19:12
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 - 16 juil. 2009 à 19:57
Bonjour,

Je suis en en train de faire un forum et pour dire j'ai du mal mais cela ne m'empêche pas de continuer :) .

J'ai actuellement cette erreur
Parse error: syntax error, unexpected $end in /home/b/bepien/html/forum/admin/adminok.php on line 297
Hors ma ligne 297 est ma dernière ligne.

Voici le code
Merci de vos réponse bonne journée ;)
<?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");
?>
<body>
<div id="banniere"></div>
<?php
//Maintenant on se connecte à la base de données
mysql_connect("*************", *************", "***********");
mysql_select_db("****************");
?>
<div id="corps_forum">
<a href ="./index.php">Index du forum</a>
<?php
$cat = htmlspecialchars($_GET['cat']); //on récupère dans l'url la variable cat
switch($cat) //1er switch
{
case "config":
	echo'<h1>Configuration du forum</h1>';
	//On récupère les valeurs et le nom de chaque entrée de la table
	$requete_config= mysql_query('SELECT config_nom, config_valeur FROM forum_config');
	//Avec cette boucle, on va pouvoir contrôler le résultat pour voir s'il a changé
	while($data_config = mysql_fetch_assoc($requete_config))
	{
	if ($data_config['config_valeur'] != $_POST[$data_config['config_nom']])
	{
	//On met ensuite à jour
        $valeur = htmlspecialchars($_POST[$data_config['config_nom']]);
	mysql_query("UPDATE forum_config SET config_valeur = '".$valeur."'
	WHERE config_nom = '".$data_config['config_nom']."'") or die(mysql_error());
	}
	}
	echo'<br /><br />Les nouvelles configurations ont été mises à jour !<br />
        
        //Et le message !
	Cliquez <a href="./admin.php">ici</a> pour revenir à l administration';
break;
?>
<?php
case "forum":
//Ici forum
$action = htmlspecialchars($_GET['action']); //On récupère la valeur de action
   switch($action) //2ème switch
   {
   case "creer":

        //On commence par les forums
	if ($_GET['c'] == "f")
	{
	$titre = mysql_real_escape_string($_POST['nom']);
	$desc = mysql_real_escape_string($_POST['desc']);
	$cat = (int) $_POST['cat'];

	
	mysql_query("INSERT INTO forum_forum 
        (forum_cat_id, forum_name, forum_desc) 
	VALUES ('".$cat."', '".$titre."', '".$desc."')");
	echo'<br /><br />Le forum a été créé !<br />
	Cliquez <a href="./admin.php">ici</a> pour revenir à l administration';
	}
        
        
        //Puis par les catégories
        elseif ($_GET['c'] == "c")
        {
        $titre = mysql_real_escape_string($_POST['nom']);
        
        mysql_query("INSERT INTO forum_categorie (cat_nom) 
        VALUES ('".$titre."')");
        echo'<p>La catégorie a été créée !<br />
        Cliquez <a href="./admin.php">ici</a> 
        pour revenir à l administration</p>';
        }
        break;

case "edit":
        echo'<h1>Edition d un forum</h1>';
        
        if($_GET['e'] == "editf")
        {
        //Récupération d'informations

	$titre = mysql_real_escape_string($_POST['nom']);
	$desc = mysql_real_escape_string($_POST['desc']);
	$cat = (int) $_POST['depl'];        

        //Vérification
        $forum_existe = mysql_result(mysql_query("SELECT COUNT(*) 
        FROM forum_forum WHERE forum_id = '".$_POST['forum_id']."'"),0);
        if ($forum_existe == 0) 
		{
        exit("Le forum n existe pas</div></body></html>");
		}
        else
        {
        //Mise à jour
        mysql_query("UPDATE forum_forum 
        SET forum_cat_id = '".$cat."', forum_name = '".$titre."',
        forum_desc = '".$desc."' 
        WHERE forum_id = '".(int) $_POST['forum_id']."'");
 
        //Message
        echo'<p>Le forum a été modifié !<br />
        Cliquez <a href="./admin.php">ici</a> 
        pour revenir à l administration</p>';
        }
        }
elseif($_GET['e'] == "editc")
        {
        //Récupération d'informations
        $titre = mysql_real_escape_string($_POST['nom']);

        //Vérification
        $cat_existe = mysql_result(mysql_query("SELECT COUNT(*) 
        FROM forum_categorie WHERE cat_id = '".(int) $_POST['cat']."'"),0);
        if ($cat_existe == 0) exit("La catégorie n existe pas");
        else
        {
        //Mise à jour
        mysql_query("UPDATE forum_categorie
        SET cat_nom = '".$titre."' 
        WHERE cat_id = '".(int) $_POST['cat']."'");
        
        //Message
        echo'<p>La catégorie a été modifiée !<br />
        Cliquez <a href="./admin.php">ici</a> 
        pour revenir à l administration</p>';
        }
        }
elseif($_GET['e'] == "ordref")
        {

        //On récupère les id et l'ordre de tous les forums
        $requete_forum = mysql_query('SELECT forum_id, forum_ordre 
        FROM forum_forum');
 
        //On boucle les résultats
        while($data= mysql_fetch_assoc($requete_forum))
        {
        $ordre = (int) $_POST[$data['forum_id']]; 
        
        //Si et seulement si l'ordre est différent de l'ancien, on le met à jour
        if ($data['forum_ordre'] != $ordre)
        {
        mysql_query("UPDATE forum_forum SET forum_ordre = '".$ordre."'
        WHERE forum_id = '".$data['forum_id']."'");
        }
        }
 
        //Message
        echo'<p>L ordre a été modifié !<br />
        Cliquez <a href="./admin.php">ici</a> 
        pour revenir à l administration</p>';
        }
elseif($_GET['e'] == "ordrec")
        {
    
        //On récupère les id et les ordres de toutes les catégories
        $requete_cat = mysql_query('SELECT cat_id, cat_ordre 
        FROM forum_categorie');
        
        //On boucle le tout
        while($data = mysql_fetch_assoc($requete_cat))
        {
        $ordre = (int) $_POST[$data['cat_id']]; 
        
        //On met à jour si l'ordre a changé
        if($data['cat_ordre'] != $ordre)
        {
        mysql_query("UPDATE forum_categorie SET cat_ordre = '".$ordre."'
        WHERE cat_id = '".$data['cat_id']."'");
        }
        }
        echo'<p>L ordre a été modifié !<br />
        Cliquez <a href="./admin.php">ici</a> 
        pour revenir à l administration</p>';
        }
   break;


case "droits":
     
        //Récupération d'informations
        $auth_view = (int) $_POST['auth_view'];
        $auth_post = (int) $_POST['auth_post'];
        $auth_topic = (int) $_POST['auth_topic'];
        $auth_annonce = (int) $_POST['auth_annonce'];
        $auth_modo = (int) $_POST['auth_modo'];
        
        //Mise à jour
        mysql_query("UPDATE forum_forum
        SET auth_view = '".$auth_view."', 
        auth_post = '".$auth_post."', auth_topic = '".$auth_topic."',
        auth_annonce = '".$auth_annonce."', auth_modo = '".$auth_modo."'
        WHERE forum_id = '".(int) $_POST['forum_id']."'");

        //Message
        echo'<p>Les droits ont été modifiés !<br />
        Cliquez <a href="./admin.php">ici</a> 
        pour revenir à l administration</p>';
        break;
        }
break;
?>
<?php
//Le pseudo doit être unique !
//Il faut donc vérifier s'il a été modifié, si c'est le cas, on vérifie bien 
//l'unicité
$requete1 = mysql_query('SELECT membre_pseudo FROM forum_membres 
WHERE membre_id = '.$pseudo.'');
$data1 = mysql_fetch_assoc($requete1);
if (strtolower($data1['membre_pseudo']) != strtolower($_POST['pseudo']))
{
        $nombrepseudo= mysql_result("mysql_query(SELECT COUNT(*)
		FROM forum_membres
		WHERE membre_pseudo = '".stripslashes(htmlspecialchars($_POST['pseudo']))."'), 0");


        if ($nombrepseudo!= 0)
        {
        $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
        $i++;
        }
}
?>
<?php
case "droits":
	$membre = mysql_real_escape_string($_POST['pseudo']);
	$rang = (int) $_POST['droits'];
	mysql_query("UPDATE forum_membres SET membre_rang = '".$rang."' 
	WHERE membre_pseudo = '".$membre."'");
	echo'<p>Le niveau du membre a été modifié !<br />
	Cliquez <a href="./admin.php">ici</a> 
	pour revenir à l administration</p>';
break;
?>
<?php
case "ban":
                //Bannissement dans un premier temps
                //Si jamais on n'a pas laissé vide le champ pour le pseudo
                if (isset($_POST['membre']) AND !empty($_POST['membre']))
                {
				$pseudo = mysql_real_escape_string($_POST['membre']);
                $requete_membre = mysql_query('SELECT membre_id 
                FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"');
                //Si le membre existe
					if ($data_membre = mysql_fetch_assoc($requete_membre))
					{
					//On le bannit
					mysql_query("UPDATE forum_membres SET membre_rang = 0 
					WHERE membre_id = '".$data_membre['membre_id']."'");
					echo'<br /><br />Le membre '.stripslashes(htmlspecialchars($pseudo)).' a bien été banni !<br />';
					}
					else 
					{
					echo'<p>Désolé, le membre '.stripslashes(htmlspecialchars($pseudo)).' n existe pas !
					<br />
					Cliquez <a href="./admin.php?cat=membres&action=ban">ici</a> 
					pour réessayer</p>';
					}
                }
				
                //Debannissement ici        
                $requete_deban = mysql_query('SELECT membre_id FROM forum_membres 
                WHERE membre_rang = 0');
                //Si on veut débannir au moins un membre
                if (mysql_num_rows($requete_deban) > 0)
                {
				$i=0;
				}
                while($data_deban = mysql_fetch_assoc($requete_deban))
                {
                if(isset($_POST[$data_deban['membre_id']]))
                {
				$i++;
                //On remet son rang à 2
                mysql_query("UPDATE forum_membres SET membre_rang = 2 
                WHERE membre_id = '".$data_deban['membre_id']."'");
                }
                }
				if ($i!=0)
				{
                echo'<p>Les membres ont été débannis<br />
                Cliquez <a href="./admin.php">ici</a> pour retourner à 
                l administration</p>';
                }
				
break;
?>


</div>
</body></html>

10 réponses

lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
15 juil. 2009 à 19:18
Bonjour,

Ton premier switch ....

switch($cat) //1er switch
{
N'a pas de } fermant .... Ca doit le gener. Ca a l'air d'etre la seule manquante.
A+
Cube
0
Non je la ferme plus bas.
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
15 juil. 2009 à 19:32
Non, vim ne se trompe pas ...

<?php
$cat = htmlspecialchars($_GET['cat']); //on récupère dans l'url la variable cat
switch($cat) //1er switch
{
case "config":
echo'<h1>Configuration du forum</h1>';
//On récupère les valeurs et le nom de chaque entrée de la table
$requete_config= mysql_query('SELECT config_nom, config_valeur FROM forum_config');
//Avec cette boucle, on va pouvoir contrôler le résultat pour voir s'il a changé
while($data_config = mysql_fetch_assoc($requete_config))
{
if ($data_config['config_valeur'] != $_POST[$data_config['config_nom']])
{
//On met ensuite à jour
$valeur = htmlspecialchars($_POST[$data_config['config_nom']]);
mysql_query("UPDATE forum_config SET config_valeur = '".$valeur."'
WHERE config_nom = '".$data_config['config_nom']."'") or die(mysql_error());
}
}
echo'<br /><br />Les nouvelles configurations ont été mises à jour !<br />

//Et le message !
Cliquez <a href="./admin.php">ici</a> pour revenir à l administration';
break;
?>
Il doit etre ferme avant le fin du php ... et donc ?>. Je ne le vois pas. Désole.
0
Si tu le dit mais sa ne marche pas je vient de tester
0

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

Posez votre question
resalut Messages postés 784 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 21 janvier 2010 55
15 juil. 2009 à 19:55
si t'ecoute pas les gens demande pas d'aide .....
il te manque plusieurs } ....
0
J'ai écouter lecube et sa ne marche pas avec sa solution.

Ensuite je ne voit pas pourquoi sa planterai à cet endroit là car quand on fait:

<?php
if ($avoir ==1)
(
?>
Blablablablabla
<?php
}
?>

Sa marche, alors que je le ferme plus bas.

Sinon je viens demander de l'aide car j'ai un problème et je n'arrive pas à trouver les ; et les } manquante.
Donc si vous pouviez m'indiquer ou elles sont sa serait gentil

Merci et bonne journée ;).
0
resalut Messages postés 784 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 21 janvier 2010 55
16 juil. 2009 à 12:20
switch n est pas fermé
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
16 juil. 2009 à 17:12
resalut a raison ...

En effet, j'aime pas cette maniere de programmer mais elle doit marcher. Maintenant si tu utilises un editeur comme vim ( que j'adore !), en cliquant sur une parenthese ou une accolade et en faisant %, il te montre qu'elle est la parenthese ou l'accolade fermante. La premiere accolade de ton switch n'a clairement aucune fermante.

Il faut fermer ton switch.
0
resalut Messages postés 784 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 21 janvier 2010 55
16 juil. 2009 à 19:47
lol ca à l'air de te faire plaisir que j'ai raison lecude :D
0
lecube Messages postés 304 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 13 avril 2010 54
16 juil. 2009 à 19:57
^^ Oui car depuis le début, je la vois cette parenthese qui manque comme un nez au milieu d'une figure ;-P
0