Erreur php
Résolu
Minioit
-
lecube Messages postés 326 Date d'inscription Statut Membre Dernière intervention -
lecube Messages postés 326 Date d'inscription Statut Membre Dernière intervention -
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 ;)
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>Configuration: Windows Vista Firefox 3.5
10 réponses
-
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 -
-
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. -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
si t'ecoute pas les gens demande pas d'aide .....
il te manque plusieurs } .... -
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 ;). -
switch n est pas fermé
-
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. -
lol ca à l'air de te faire plaisir que j'ai raison lecude :D
-
^^ Oui car depuis le début, je la vois cette parenthese qui manque comme un nez au milieu d'une figure ;-P