Parse error: syntax error, unexpected $end

Résolu/Fermé
pepelil - 13 juin 2012 à 10:25
 pepelil - 13 juin 2012 à 11:00
Bonjour,

J'ai un soucis sur mon site test depuis hier, je ne trouve pas de solution!!
Le message d'erreur est : Parse error: syntax error, unexpected $end
Si quelqu'un peut m'aider, voici mon code...

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );

//----------récupération de sectionid---------------// permet de changer le css selon la section.
function getSection($iId) {
$database = &JFactory::getDBO();
switch(JRequest::getString( 'view')){
case 'section' :
return JRequest::getInt( 'id');
case 'category':
$sql = "SELECT section FROM #__categories WHERE id='$iId' ";
$database->setQuery( $sql );
return $database->loadResult();
case 'article':
$sql = "SELECT sectionid FROM #__content WHERE id='$iId' ";
$database->setQuery( $sql );
return $database->loadResult();
}
}
$section=getSection(JRequest::getInt( 'id'));
//---------------------------------------------------

//-------------gestion du CSS selon la section et les logins-------------//
function changeCss($section){
if( $_REQUEST['view'] == "login"){
switch($_REQUEST['Itemid']){
case '412' :
return "gmp";
default :
break;
}
}
else{
switch($section){
case '4' :
return "gc";
case '11' :
return "ch";
case '5' :
return "geii";

case '16' :
return "gmp";
case '7':
return "mph";
case '9':
return "rt";
case '3':
return "src";
case '15':
return "gte";
default :
return "general";
}
}
}
//-------------FIN de gestion du CSS selon la section-------------//
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<meta name="google-site-verification" content="WeyklEzXA7k155_H6ye58xrBzlS3gGZ9jVDlZzGkJA4" />
<jdoc:include type="head" />
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/iut1_general_v2/css/editor.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/iut1_general_v2/css/com_content.css" />
<link href="<?php echo $this->baseurl ?>/templates/iut1_general_v2/css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/iut1_general_v2/css/dep/<?php echo changeCss($section);?>.css" />
<?php
if (ereg("MSIE 7.0", $_SERVER["HTTP_USER_AGENT"]))
{
echo '<link href="'.$this->baseurl.'/templates/iut1_general_v2/css/ieonly.css" rel="stylesheet" type="text/css" media="screen" />';
}
?>


<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/iut1_general_v2/css/articles.css" />
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/iut1_general_v2/jquery.js"></script>
</head>
<body>
<?php if($this->countModules('FlashIntro') && !isset($_COOKIE["skip_intro"]) && $_COOKIE["skip_intro"]!="yes") : ?>
<div id="flash">
<jdoc:include type="modules" name="FlashIntro" style="xhtml" />
</div>
<?php
if ($this->params->get("duree_anim") == "session") {
setcookie("skip_intro","yes",0,'/');
}
else {
setcookie("skip_intro","yes",time()+(int)$this->params->get("duree_anim"),'/');
}
?>
<?php else : ?>


<!-- pas d'erreur sur la div conteneur!-->

<div id="conteneur">
<div id="header">
<div id="titre">
test
</div>


<div id="menu_texte_droite">
<jdoc:include type="modules" name="user2" />
</div>

<div id="menu_logo">
<jdoc:include type="modules" name="logo" />
</div>

<?php if($this->countModules('recherche_alt')) : ?>
<div id="ma_recherche">
<div class="bordure_h"></div>
<div class="fond">
<jdoc:include type="modules" name="recherche_alt" />
</div>
<div class="bordure_b"></div>
</div>


<div id="menu_general">
<jdoc:include type="modules" name="user1" />
</div>
<div class="separator"></div>
</div>

<div id="contenu">

<div id="contenu_milieu">
<div id="gauche">
<div id="menu_gauche">
<?php if($this->countModules('left')) : ?>
<jdoc:include type="modules" name="left" style="xhtml" />
<?php endif; ?>
</div>
</div>

<?php if($this->countModules('right')) : ?>
<div id="droite">
<div id="menu_droite">
<jdoc:include type="modules" name="right" style="xhtml" />
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('right')) : ?>
<div id="centre" class="3cols">
<?php else : ?>
<div id="centre">
<?php endif; ?>
<?php if($this->countModules('banner')) : ?>
<div id="banner">
<jdoc:include type="modules" name="banner" style="xhtml" />
</div>
<?php endif; ?>
<jdoc:include type="component" />
</div>
<div class="separator"></div>
</div>
</div>

<div id="footer">
<div class="droite">
<div class="gauche">
<div class="img"></div>
<jdoc:include type="modules" name="textfooter" />
</div>
<div class="droite-2">
<jdoc:include type="modules" name="footer" />
</div>
</div>
</div>
</div>
<?php endif; ?>
<script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script
type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-12110125-1"); pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>

4 réponses

SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
13 juin 2012 à 10:30
Hello,

Un If en PHP ne se construit pas comme tu l'as crée.

if (condition)
{Instruction}
elseif
{Instruction}
else
{Instruction}


Cette ligne est donc fausse.
<?php endif; ?> 


Je te laisse corriger et essayer.


@+
0
J'ai essayé mais je pense que mon problème ne vient pas de là, car il n'y a aucun changement...
Je pense qu'il s'agit d'un oubli dans la deuxième partie, à partir de la <div id="conteneur"> mais impossible de trouver où !
0
SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
13 juin 2012 à 10:47
La structure de tous tes If est fausse, les as-tu tous corriger ?

Car en ce moment, il manque les accolades {}, il y a un : en trop après les conditions et il y a un Endif qui ne devrait pas exister.


@+
0
Il s'agit de cette partie qui a un problème ?
<?php
if ($this->params->get("duree_anim") == "session") {
setcookie("skip_intro","yes",0,'/');
}
else {
setcookie("skip_intro","yes",time()+(int)$this->params->get("duree_anim"),'/');
}
?>
<?php else : ?>

Désolée, je n'y comprend pas grand chose en code HTML.. je dois changer quoi exactement?
0