Problème switch

Résolu/Fermé
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 - 9 juin 2009 à 17:48
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 - 10 juin 2009 à 14:46
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 18:17
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 jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 18:32
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 18:41
bizarre…

peux-tu nous donner le message d'erreur complet stp ?
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 18:43
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 18:48
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 jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 18:51
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 18:53
grrrr…

peux-tu mettre le code complet stp ?
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 18:54
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 18:56
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 jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 19:11
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 19:16
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 jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 19:18
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 19:19
cf. au dessus.
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 19:21
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 19:22
>>> LÀ !!! <<<
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 19:25
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 19:28
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 19:30
avec cette version :
http://pastebin.com/d202ad8bc

ça passe chez moi !
0
Psix Messages postés 105 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 19:34
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 mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 19:38
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 jeudi 14 mai 2009 Statut Membre Dernière intervention 7 décembre 2010 5
9 juin 2009 à 19:39
Je suis bien d'accord lol.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
9 juin 2009 à 22:13
as-tu avancé ?
0