Problème switch
RésoluParse 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&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&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 :).
--
. . !!!! Bonne journée !!!!
\__/ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Configuration: Windows XP Edition familiale Version 2002
27 réponses
Une erreur de syntaxe PHP, de type parse error, est signalée dans un fichier PHP lors d'une tentative d'implémenter une fonction de réponse à l'aide d'un switch. Plusieurs correctifs évoqués suggèrent de partager le code complet sur Pastebin ou d'inspecter les balises PHP et les accolades pour identifier les erreurs de fermeture. En cas de réponse, certains indiquent qu'un retour à la ligne au milieu d'une balise PHP peut déclencher ce type d'erreur, et recommandent de retaper les lignes problématiques sans copier-coller. D'autres échanges indiquent que la résolution peut passer par la suppression des retours à la ligne dans les structures PHP et par la vérification des expressions et des accolades, sans conclure sur l'état général.
-
Oui je vais essayer ça. Merci pour toutes tes réponses ! Bonne fin de journée !
-
Contributeuret si tu essayer de remplacer le switch par if elseif…
si non en réorganisant ton fichier et en faisant des include des différentes parties au lieu de mélanger trop PHP et HTML ?
-
J'ai retapé les lignes "à la main" mais rien n'y fait.... Quand même bizar...
-
Contributeurà part un problème de caractère incorrect je ne vois pas…
essaie d'effacer les lignes 204-206 et de les retaper entièrement (sans copier/coller).
-
Voici le code : http://pastebin.com/m72205dfd
Et le message d'erreur : Parse error: parse error in C:\monDossier\forum\poster.php on line 205 -
Contributeursalut,
tu nous colles le message d'erreur ici et le code sur pastebin.com, stp ?
-
Bonjour, non je ne trouve rien... mais je cherche...
-
Contributeuras-tu avancé ?
-
Je suis bien d'accord lol.
-
Contributeur204 ???
mais y a rien !!!
ou est-ce qu'il nous voit une erreur ?
il nous gonfle à la fin, lui !
-:oD
-
Avec ce que tu m'as donné j'ai Parse error: parse error in C:\mondossier\forum\poster.php on line 204
-
Contributeuravec cette version :
http://pastebin.com/d202ad8bc
ça passe chez moi !
-
Contributeurah 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…
-
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']))
-
Contributeur>>> LÀ !!! <<<
-
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)
-
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']))
-
Contributeuren 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.
-
Oui c'est normal sans faire exprès le bloc note était en retour automatique à la ligne. Et toujours ce problème... pfff
-
Contributeurde 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>
- 1
- 2