Problème switch

Résolu
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   -  
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, afin de créer un forum, je fais ce tutoriel : <lien url="http://www.siteduzero.com/tutoriel-3-9953-poster.html">. Cependant pour la switch j'ai une erreur de marqué :
Parse error: parse error in C:\documents\forum\poster.php on line 114

Voici mon code du switch :
<?
switch($action)
{
case "repondre": //Premier cas on souhaite répondre
?>
<h1>Poster une réponse</h1>
 
<form method="post" action="postok.php?action=repondre&amp;t=<?php echo $topic ?>" name="formulaire">
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(' :D ');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(' :lol: ');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(' :triste: ');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(' :frime: ');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies(' XD ');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(' :s ');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(' :o ');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(' :interrogation: ');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(' :exclamation: ');return(false)" />
</fieldset>
 
<fieldset><legend>Message</legend><textarea cols="80" rows="8" id="message" name="message"></textarea></fieldset>
 
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer"/>
</p></form>
<?php
break;
 
case "nouveautopic":
?>
 
<h1>Nouveau topic</h1>
<form method="post" action="postok.php?action=nouveautopic&amp;f=<?php echo $forum ?>" name="formulaire">
 
<fieldset><legend>Titre</legend>
<input type="text" size="80" id="titre" name="titre" /></fieldset>
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(':D');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(':lol:');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(':frime:');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies('XD');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(':s');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(':O');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(':interrogation:');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(':exclamation:');return(false)" /></fieldset>
 
<fieldset><legend>Message</legend>
<textarea cols="80" rows="8" id="message" name="message"></textarea>
<label><input type="radio" name="mess" value="Annonce" />Annonce</label>
<label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label>
</fieldset>
<p>
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer" /></p>
</form>
<?php
break;
 
//D'autres cas viendront s'ajouter ici par la suite

default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o
echo'<p>Cette action est impossible</p>';
} //Fin du switch
mysql_close();
?>


Avec en ligne 114 :

<?php
} //ligne 114
 
//Enfin sinon c'est au sujet de la modération(on verra plus tard en détail)
//On ne connait que le post, il faut chercher le reste
elseif (isset ($_GET['p']))


Merci d'avoir lu mon message. Et je vous serais reconnaissant de m'aider :).
A voir également:

27 réponses

Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
salut,

chez moi ça compile sans soucis mais il faut deux points au bout du default au lieu d'un point virgule :
default: //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci de m'avoir répondu, j'ai modifié le ; en : mais cela en change rien, il y a exactement la même erreur...
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
bizarre…

peux-tu nous donner le message d'erreur complet stp ?
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Je l'ai donné complet, j'ai une page toute blanche avec "Parse error: parse error in C:mondossier\forum\poster.php on line 114"
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
y a pas un petit "unexpected… blablabla" après ?

il doit nous en cacher, colle ça en haut de ton script :
<?php
 error_reporting(E_ALL);
 ini_set("display_errors", 1);
?>

--
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien
0

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

Posez votre question
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
J'ai cherché et je n'ai pas trouver de unexpeted etc, et j'ai essayer de coller le code mais cela a rien changer..
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
grrrr…

peux-tu mettre le code complet stp ?
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci beaucoup pour toute ton aide. Voici le code entier :

<?php
//Cette fonction doit être appelée avant tout code html
session_start();
$balises = true;
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<?php
if (!empty($titre)) //Si le titre est indiqué, on l'affiche entre les balises <title>
{
    echo '<title> '.$titre.' </title>';
}
else //Sinon, on écrit forum par défaut
{
    echo '<title> Forum </title>';
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="./css/design.css" />





<script>
function bbcode(bbdebut, bbfin)
{
var input = window.document.formulaire.message;
input.focus();
if(typeof document.selection != 'undefined')
{
var range = document.selection.createRange();
var insText = range.text;
range.text = bbdebut + insText + bbfin;
range = document.selection.createRange();
if (insText.length == 0)
{
range.move('character', -bbfin.length);
}
else
{
range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
}
range.select();
}
else if(typeof input.selectionStart != 'undefined')
{
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
var pos;
if (insText.length == 0)
{
pos = start + bbdebut.length;
}
else
{
pos = start + bbdebut.length + insText.length + bbfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
 
else
{
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos))
{
pos = prompt("insertion (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length)
{
pos = input.value.length;
}
var insText = prompt("Veuillez taper le texte");
input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
}
}
function smilies(img)
{
window.document.formulaire.message.value += '' + img + '';
}
</script>


</head>
<?php
if (isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
$_SESSION['pseudo'] = $_COOKIE['pseudo']; 

/* On créé la variable de session à partir du cookie pour ne pas avoir à vérifier 2 fois sur les pages qu'un membre est 

connecté. */

}
if (isset ($_COOKIE['pseudo']) && isset ($_SESSION['pseudo']))
{
//On est connecté
}
if (!isset ($_COOKIE['pseudo']) && !isset ($_SESSION['pseudo']))
{
//On n'est pas connecté
}
?>

<body>
<div id="banniere"></div>
<div id="corps_forum">



<a href="./voirtopic.php?t=<?php echo $topic ; ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?

></a></p>
<?php
}
 
//Enfin sinon c'est au sujet de la modération(on verra plus tard en détail)
//On ne connait que le post, il faut chercher le reste
elseif (isset ($_GET['p']))
{
$post = (int) $_GET['p'];
$requete1 = mysql_query('
SELECT post_createur, forum_post.topic_id, topic_titre, forum_topic.forum_id,
forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_post
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
WHERE forum_post.post_id ="'.$post.'"')or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
$topic = $data1['topic_id'];
$forum = $data1['forum_id'];
?>
 
<p><a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $forum ; ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ; ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?

></a></p>
<?php
}
 
 
//Ici on s'intéresse au visiteur
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='.intval($_SESSION['id']).'&action=consulter">
        '.stripslashes(htmlspecialchars($_SESSION['pseudo'])).'</a><br />
        <a href="./voirprofil.php?action=modifier">Modifier mon profil</a><br />
        <a href="./messagesprives.php">Consulter mes messages privés</a><br />
        <a href ="./deconnexion.php">Se déconnecter</a><br /></p>';
 
}
 
// Sinon l'accès à cette page est interdit ! ^^
else
{
echo 'Désolé, vous devez être enregistré pour poster</div></body></html>';
exit();
}
?>

<?
switch($action)
{
case "repondre": //Premier cas on souhaite répondre
?>
<h1>Poster une réponse</h1>
 
<form method="post" action="postok.php?action=repondre&amp;t=<?php echo $topic ; ?>" name="formulaire">
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '/g');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '/i');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '/s');return(false)" 

/>
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '/url');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(' :D ');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(' :lol: ');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(' :triste: ');return(false)" 

/>
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(' :frime: ');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies(' XD ');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(' :s ');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(' :o ');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(' :interrogation: ');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(' :exclamation: ');return(false)" 

/>
</fieldset>
 
<fieldset><legend>Message</legend><textarea cols="80" rows="8" id="message" name="message"></textarea></fieldset>
 
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer"/>
</p></form>
<?php
break;
 
case "nouveautopic":
?>
 
<h1>Nouveau topic</h1>
<form method="post" action="postok.php?action=nouveautopic&amp;f=<?php echo $forum ; ?>" name="formulaire">
 
<fieldset><legend>Titre</legend>
<input type="text" size="80" id="titre" name="titre" /></fieldset>
 
<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '/g');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '/i');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '/s');return(false)" 

/>
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '/url');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(':D');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(':lol:');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(':frime:');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies('XD');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(':s');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(':O');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(':interrogation:');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(':exclamation:');return(false)" 

/></fieldset>
 
<fieldset><legend>Message</legend>
<textarea cols="80" rows="8" id="message" name="message"></textarea>
<label><input type="radio" name="mess" value="Annonce" />Annonce</label>
<label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label>
</fieldset>
<p>
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer" /></p>
</form>
<?php
break;
 
//D'autres cas viendront s'ajouter ici par la suite

default: //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o
echo '<p>Cette action est impossible</p>';
} //Fin du switch
mysql_close();
?>
</div>
</body>
</html>

0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
de 118 à 120, il y a un retour à la ligne au milieu de la balise fermante de PHP :
<a href="./voirtopic.php?t=<?php echo $topic ; ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?

></a></p>
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Oui c'est normal sans faire exprès le bloc note était en retour automatique à la ligne. Et toujours ce problème... pfff
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
en dessous :
<a href="./voirtopic.php?t=<?php echo $topic ; ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a></p>
<?php
}

tu fermes une accolade qui est déjà fermée au dessus.
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Après l'avoir supprimer j'ai une erreur à la ligne 122 ... (Parse error: parse error in C:\mondossier\forum\poster.php on line 122)
elseif (isset ($_GET['p']))
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
cf. au dessus.
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Cf au-dessus ? Je ne vois pas... (désolé je ne vois pas ce que tu veux dire, je vois pas ta référence quoi)
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
>>> LÀ !!! <<<
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Oui, mais quand je supprime cette { j'ai une erreur à la ligne 122 ... (Parse error: parse error in C:\mondossier\forum\poster.php on line 122)
elseif (isset ($_GET['p']))
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
ah déjà !
j'avais pas suivi !
-:o)

enlève la fermeture d'accolade de la ligne 108 et mets la avant le elseif.

tu auras la suivante en 136…
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
avec cette version :
http://pastebin.com/d202ad8bc

ça passe chez moi !
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Avec ce que tu m'as donné j'ai Parse error: parse error in C:\mondossier\forum\poster.php on line 204
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
204 ???
mais y a rien !!!
ou est-ce qu'il nous voit une erreur ?

il nous gonfle à la fin, lui !
-:oD
0
Psix Messages postés 105 Date d'inscription   Statut Membre Dernière intervention   5
 
Je suis bien d'accord lol.
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
as-tu avancé ?
0