Erreur "Parse error: syntax error, unexpected '$_SERVER' (T_VARIABLE) in ..."

Petit nouveau ! | 3 Messages

20 févr. 2016, 14:45

Bonjour,

Je lance un appel au secours pour une parse error que je ne parviens pas à résoudre :oops: ... et je tourne en rond depuis un moment.
Pouvez vous m'éclairer ?

Merci beaucoup d'avance :D

<?php
if($_SERVER['REQUEST_URI'] == '/presentation.html'
|| $_SERVER['REQUEST_URI'] == '/village.html'
|| $_SERVER['REQUEST_URI'] == '/acces.html'
){ echo ' class="active"'; } ?>

Provoque : "Parse error: syntax error, unexpected '$_SERVER' (T_VARIABLE) in ..."

Jérôme

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 févr. 2016, 15:36

salut,

ton script est syntaxiquement correct.
Est tu certain qu'il n'y a que cela ?
Peux tu nous indiquer le message d'erreur et le script complet (moins les éventuelles informations de connexion a quoi que ce soit).

si tu exécute ce script en ligne de commande tu auras une erreur mais sur l'index indéfini pas de syntaxe.
Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

20 févr. 2016, 15:45

Bonjour et merci pour ton aide, voici :

Parse error: syntax error, unexpected '$_SERVER' (T_VARIABLE) in /homepages/22/d609553832/htdocs/www-dev/index.php on line 149
<?php
	session_start();
	ini_set('display_errors','0');
	$url_site_interne = $_SERVER['DOCUMENT_ROOT'];
	$url_site = 'http://'.$_SERVER['HTTP_HOST'].'/';
	$url_site_sans_slash = 'http://'.$_SERVER['HTTP_HOST'];
	if($_REQUEST['modele'] == 'devis-contact'){
		include 'include/traitement_formulaire_devis.inc.php';
	}
	if(!isset($_REQUEST['modele']) || $_REQUEST['modele'] == ''){
		$_REQUEST['modele'] = 'accueil';
	}
	$alt_search = array('-');
	$alt_replace = array(' ');
	$device = '';
	if(stristr($_SERVER['HTTP_USER_AGENT'],'ipad')) {
		$device = "ipad";
	}elseif(stristr($_SERVER['HTTP_USER_AGENT'],'iphone')) {
		$device = "iphone";
	}elseif(stristr($_SERVER['HTTP_USER_AGENT'],'blackberry')) {
		$device = "blackberry";
	}elseif(stristr($_SERVER['HTTP_USER_AGENT'],'android')) {
		$device = "android";
	}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<?php
		switch($_REQUEST['modele']){
			case 'accueil' :
				$title = 'Anim\'Grésy : Comité des Fêtes de Grésy-sur-Isère (Savoie)';
				$meta_description = "Animations et évènements à Grésy-sur-Isère (Savoie), aux portes d'Albertville et à proximité des communes de Frontenex, Montailleur, Saint-Pierre d'Albigny, Cruet, Saint-Jean de la Porte...";
				$meta_keywords = "animations, évènements, comité des fêtes";
				break;
			default :
				$title = 'Anim\'Grésy : Comité des Fêtes de Grésy-sur-Isère (Savoie)';
				$meta_description = "Soci&eacute;t&eacute; sp&eacute;cialis&eacute;e dans la conception d'enseignes lumineuses et signal&eacute;tiques de qualit&eacute; et sur mesure, dans le secteur de Chamb&eacute;ry (Savoie).";
				$meta_keywords = "enseignes, signal&eacute;tique, panneaux, &eacute;clairage, publicit&eacute;s, banderoles, impression, s&eacute;rigraphie";
				break;
		}
		echo '<title>'.$title.'</title>';
		echo '<meta name="description" content="'.$meta_description.'" />';
		echo '<meta name="keywords" content="'.$meta_keywords.'" />';
		if($_SERVER['REQUEST_URI'] == '/accueil.html'){
			echo '<link rel="canonical" href="/" />';
		}
	?>
	<meta charset="iso-8859-1" />
	<meta name="description" content="" />
	<meta name="keywords" content="" />
	<meta name="viewport" content="width=device-width, maximum-scale=1" />
	<meta name="format-detection" content="telephone=no">
	<script src="js/dynamic-font-resize.js"></script>
	<link href="css/normalize.css" rel="stylesheet" type="text/css">
	<link href="css/ie8.css" rel="stylesheet" type="text/css">
	<link href="css/stylesheet.css" rel="stylesheet" type="text/css">
	<link href="css/print.css" rel="stylesheet" type="text/css" media="print">
	<link href="css/font-awesome.css" rel="stylesheet" type="text/css">
	<link href="css/bxslider.css" rel="stylesheet" type="text/css">
	<link href="css/colorbox.css" rel="stylesheet" type="text/css">
	<script src="js/modernizr.min.js"></script>
	<script src="js/jquery.min.js"></script>
	<script src="js/jquery.easing.1.3.js"></script>
	<script src="js/jquery.bxslider.min.js"></script>
	<script src="js/jquery.colorbox-min.js"></script>
	<script src="js/scripts.js"></script>
	<base href="http://<?php echo $_SERVER['HTTP_HOST']; ?>" />
	<link href='https://fonts.googleapis.com/css?family=Lobster|Poiret+One' rel='stylesheet' type='text/css'>
	<script src="js/scrollToTop.min.js"></script>
	<link rel="icon" type="image/png" href="<?php echo $url_site; ?>images/design/favicon-16x16.png" sizes="16x16">
	<link rel="apple-touch-icon" sizes="114x114" href="<?php echo $url_site; ?>images/design/apple-touch-icon-114x114.png">
	<meta name="msapplication-TileColor" content="#444444">
	<meta name="msapplication-TileImage" content="/mstile-144x144.png">
	<script>
	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

	  ga('create', 'UA-52504497-1', 'auto');
	  ga('send', 'pageview');

	</script>
	<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53dcb26a49401dbb"></script>
	<meta name="google-site-verification" content="QSMWlR1F4BmpW8T7axxc6TVkcSs7e2DdLbiCCuI1v_g" />
	<?php
		if($_REQUEST['modele'] == 'acces'){
			echo '
				<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA1yELAWLXaYImZjtoeWh2RBQkD9ctShBtL6xbw5vjzv3Gk0vJqBTi_lNqpgc1m9eZnKs_8N8H7TRCcA" type="text/javascript"></script>
				<script src="http://maps.google.com/maps?file=api&v=2.x&key=" type="text/javascript"></script>
			';
		}
	?> 

	<script type="text/javascript" src="CookieCompliance/cookie-compliance.js"></script>
	<link type="text/css" href="CookieCompliance/stylesheet.css" rel="stylesheet">	
	<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
</head>
<body<?php if($_REQUEST['modele'] == 'acces'){ echo ' onload="load()" onunload="GUnload()"'; } ?>>
	<div id="cookieMessageWrapper">
		<div id="cookieMessage">
			<a id="cookieClose" href="#">OK</a>
			<p><strong>Les cookies assurent le bon fonctionnement de nos services.</strong> En utilisant ces derniers, vous acceptez l'utilisation des cookies. <a href="http://www.cnil.fr/vos-obligations/sites-web-cookies-et-autres-traceurs/que-dit-la-loi/" target="_blank">En savoir plus</a>.</p>
		</div>
	</div>    
    <a href="#" class="back-to-top icon-circle-arrow-up"></a>
	<header role="banner">
		
		<div class="accessibilite">
			<div class="bloc">
				<div class="print">
					<a href="javascript:;" onclick="window.print()"></a>
				</div>
				<div class="couleur">
					<div class="titre">Thème:</div>
					<ul>
						<li><a class="normal alternativeCss" href="javascript:;" data-css="">A</a>  <a class="alternativeCss" href="javascript:" data-css=""><span class="libelle_type_css">Normal</span></a></li>
						<li><a class="BN alternativeCss" href="javascript:;" data-css="<?php echo $url_site; ?>css/BN.css">A</a> <a class="alternativeCss" href="javascript:" data-css="<?php echo $url_site; ?>css/BN.css"><span class="libelle_type_css">Blanc sur Noir</span></a></li>
						<li><a class="NB alternativeCss" href="javascript:;" data-css="<?php echo $url_site; ?>css/NB.css">A</a> <a class="alternativeCss" href="javascript:" data-css="<?php echo $url_site; ?>css/NB.css"><span class="libelle_type_css">Noir sur Blanc</span></a></li>
					</ul>
				</div>
				<div class="texte">
					<div class="titre">Texte:</div>
					<ul>
						<li><a id="reset" href="javascript:resetFontSize()">A 100%</a></li>
						<li><a id="decrease" href="javascript:decreaseFontSize()">A-</a></li>
						<li><a id="increase" href="javascript:increaseFontSize()">A+</a></li>
					</ul>
				</div>
			</div>
		</div>
		<div class="logo">
			<div class="texte">Anim'Gr&eacute;sy - Comit&eacute; des f&ecirc;tes de Gr&eacute;sy-sur-Is&egrave;re (Savoie)</div>
			<div class="fb"><a href="#" target="_blank"><span class="icone icon-facebook"></span><span class="texte">Facebook</span></a></div>
			<div class="image">
				<?php if($_REQUEST['modele'] !='accueil'){ echo '<a href="'.$url_site.'" title="Retour &agrave; la page d\'accueil">'; } ?>
					<img src="<?php echo $url_site; ?>images/design/logo_anim_gresy_white_200_ombre.png" alt="M2 Visuel - Votre spécialiste en enseignes et signalétique sur le secteur de Chambéry (Savoie)" />
				<?php if($_REQUEST['modele'] !='accueil'){ echo '</a>'; } ?>
			</div>
			<div class="accroche_accueil">Comit&eacute; des f&ecirc;tes<br />de Gr&eacute;sy-sur-Is&egrave;re (Savoie)</div>
		</div>
		<div class="cadre_menu_principal<?php if($modele != 'accueil'){ echo ' interieur_site'; } ?>">
			<nav class="clearfix">
				<ul class="clearfix">
					<li><a href="<?php echo $url_site; ?>#"<?php if($_SERVER['REQUEST_URI'] == '/accueil.html'){ echo ' class="active"'; } ?>>Accueil</a></li>
					<li>
						<a href="<?php echo $url_site; ?>association.html"<?php if(
						$_SERVER['REQUEST_URI'] == '/presentation.html' || $_SERVER['REQUEST_URI'] == '/village.html' || $_SERVER['REQUEST_URI'] == '/acces.html'
						){ echo ' class="active"'; } ?>>Le comit&eacute; des f&ecirc;tes</a>
						<ul>
							<li><a href="<?php echo $url_site; ?>presentation.html"<?php if($_SERVER['REQUEST_URI'] == '/presentation.html'){ echo ' class="active"'; } ?>>Présentation</a></li>
							<li><a href="<?php echo $url_site; ?>village.html"<?php if($_SERVER['REQUEST_URI'] == '/village.html'){ echo ' class="active"'; } ?>>Découvrir Grésy-sur-Isère</a></li>
							<li><a href="<?php echo $url_site; ?>acces.html"<?php if($_SERVER['REQUEST_URI'] == '/acces.html'){ echo ' class="active"'; } ?>>Venir à Grésy-sur-Isère</a></li>
						</ul>
					</li>
					<li>
						<a href="<?php echo $url_site; ?>prochains-rendez-vous.html"<?php if(
						$_SERVER['REQUEST_URI'] == 'prochains-rendez-vous.html'
						){ echo ' class="active"'; } ?>>Prochains Rendez-Vous</a>
						<ul>
							<li><a href="<?php echo $url_site; ?>soiree-karaoke.html"<?php if($_SERVER['REQUEST_URI'] == 'soiree-karaoke.html'){ echo ' class="active"'; } ?>>Carnaval Mardi Gras - 9 avril 2016</a></li>
						</ul>
					</li>
					<li>
						<a href="<?php echo $url_site; ?>evenements-passes.html"<?php if(
						$_SERVER['REQUEST_URI'] == 'evenements-passes.html'
						){ echo ' class="active"'; } ?>>&Ccedil;&agrave; s'est pass&eacute;</a>
						<ul>
							<li><a href="<?php echo $url_site; ?>marche-noel-2015.html"<?php if($_SERVER['REQUEST_URI'] == 'marche-noel-2015.html"'){ echo ' class="active"'; } ?>>Soirée Karaoké - Fév. 2016</a></li>
							<li><a href="<?php echo $url_site; ?>marche-noel-2015.html"<?php if($_SERVER['REQUEST_URI'] == 'marche-noel-2015.html"'){ echo ' class="active"'; } ?>>Marché de Noël - Déc. 2015</a></li>
							<li><a href="<?php echo $url_site; ?>marche-noel-2015.html"<?php if($_SERVER['REQUEST_URI'] == 'marche-noel-2015.html"'){ echo ' class="active"'; } ?>>Soirée Beaujolais Concert - Nov. 2015</a></li>
							<li><a href="<?php echo $url_site; ?>soiree-beaujolais-concert-brassens.html"<?php if($_SERVER['REQUEST_URI'] == 'soiree-beaujolais-concert-brassens.html"'){ echo ' class="active"'; } ?>>Soirée Beaujolais-Concert</a></li>
						</ul>
					</li>					
					<li><a href="<?php echo $url_site; ?>#"<?php if($_SERVER['REQUEST_URI'] == 'XX'){ echo ' class="active"'; } ?>>Partenaires et b&eacute;n&eacute;voles</a></li>
					<li><a href="<?php echo $url_site; ?>contact.html"<?php if($_SERVER['REQUEST_URI'] == 'contact.html'){ echo ' class="active"'; } ?>>Contact</a></li>
				</ul>
				<a href="#" id="pull">Menu</a>
			</nav>
		</div>
		<?php if($_REQUEST['modele'] == 'accueil'){ ?>
			<div class="slider">
				<ul class="bxslider">
					<li><a href="#"><img src="<?php echo $url_site; ?>images/pages/tetiere_carnaval.jpg" title="Bientôt : Carnaval Mardi Gras - Samedi 9 avril 2016" alt="Carnaval de Grésy-sur-Isère - Samedi 9 avril 2016" /></a></li>
					<li><a href="#"><img src="<?php echo $url_site; ?>images/pages/tetiere_concert.jpg" title="Ça s'est passsé : Soirée Beaujolais Concert - Novembre 2015" alt="Soirée Beaujolais Concert à Grésy-sur-Isère - Novembre 2015" /></a></li>
					<li><a href="#"><img src="<?php echo $url_site; ?>images/pages/tetiere_noel.jpg" title="Ça s'est passsé : Marché de Noël - Décembre 2015" alt="Marché de Noël de Grésy-sur-Isère - Décembre 2015" /></a></li>
					<li><a href="#"><img src="<?php echo $url_site; ?>images/pages/tetiere_karaoke.jpg" title="Ça s'est passsé : Soirée Karaoké - Février 2016" alt="Soirée Karaoké à Grésy-sur-Isère - Février 2016" /></a></li>					
				</ul>
			</div>
		<?php } ?>
	</header>
	<?php
		if($modele == 'accueil'){
			$class_div_content = $_REQUEST['modele'];
		}else{
			$class_div_content = $_REQUEST['modele'].' interieur_site';
		}
	?>
	<main role="main" id="content"<?php if(isset($_REQUEST['modele']) && $_REQUEST['modele'] !=''){ echo ' class="rubrique_'.$class_div_content.'"'; } ?>>
		<?php
			//echo '-->'.$_REQUEST['modele'];
			if(isset($_REQUEST['modele']) && $_REQUEST['modele'] !=''){
				include 'modeles/'.$_REQUEST['modele'].'.php';
			}else{
				include 'modeles/accueil.php';
			}
		?>
	</main>
	<footer role="contentinfo">
		<div>
		<div class="left copyright_texte">
				&copy; Copyright <?php echo date('Y'); ?> - Anim'Gr&eacute;sy (Association Loi 1901) - Tous droits réservés<br />73460 GRESY-SUR-ISERE<br /><a href="<?php echo $url_site; ?>mentions-legales.html">Crédits / Partenaire / Mentions légales</a><br />
		</div>
		<div class="right raccourcis">
			<a href="#" target="_blank"><span class="icone icon-facebook"></span><span class="texte">Facebook</span></a>
			<a href="#" target="_blank"><span class="icone icon-google-plus"></span><span class="texte">Google +</span></a>
			<a href="<?php echo $url_site; ?>mentions-legales.html" class="copyright_icone">&copy;</a>
			<a href="<?php echo $url_site; ?>devis-contact.html"><span class="icone icon-pencil"></span><span class="texte">Contact / Devis</span></a>
			<a href="tel:0627126187" class="lien_tel_footer_smartphone"><span class="icone icon-phone"></span><span class="texte">Téléphone</span></a>
			<a href="<?php echo $url_site; ?>devis-contact.html" class="lien_tel_footer_desktop"><span class="icone icon-phone"></span><span class="texte">Téléphone</span></a>
			<a href="<?php echo $url_site; ?>acces.html"><span class="icone icon-map-marker"></span><span class="texte">Accès</span></a>
		</div>
		</div>
	</footer>
	<div class="coord_footer_print">Web : www.anim-gresy.com</div>
<script type="text/javascript">
    
    var slider;
    $(document).ready(function(){
    //initialize slider
        slider = $('.bxslider').bxSlider({
		auto: true,
		mode: 'horizontal',
		touchEnabled: true,
		captions: true,
		pager: false,
		pause: 8000,
		controls: true,
		randomStart: false
    });
    



    });
    
    $(window).load(function() {
 // executes when complete page is fully loaded, including all frames, objects and images
      slider.reloadSlider();

});
</script>
</body>
</html>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 févr. 2016, 22:28

alors c'est con mais le code est syntaxiquement correct :/
La seule chose que je te conseillerais c'est de simplifier le test ainsi
<a href="<?php echo $url_site; ?>association.html"<?php if (in_array($_SERVER['REQUEST_URI'], ['/presentation.html', '/village.html', '/acces.html'])) {
echo ' class="active"';
} ?>>Le comit&eacute; des f&ecirc;tes</a>

par contre, en testant je suis tombé sur d'autres erreurs
Undefined index: modele in /var/www/html/ziff.php on line 7
Undefined variable: modele in /var/www/html/ziff.php on line 143
Undefined variable: modele in /var/www/html/ziff.php on line 194

Par exemple le premier cas est simple à corriger en utilisant un else au if ligne 10 (else ou else if qui va contenir ce qu'il y a dans le if ligne 7)
le code actuel
if ($_REQUEST['modele'] == 'devis-contact') {
    include 'include/traitement_formulaire_devis.inc.php';
}
if (!isset($_REQUEST['modele']) || $_REQUEST['modele'] == '') {
    $_REQUEST['modele'] = 'accueil';
}
code corrrigé
if (!isset($_REQUEST['modele']) || $_REQUEST['modele'] == '') {
    $_REQUEST['modele'] = 'accueil';
} else if ($_REQUEST['modele'] == 'devis-contact') {
    include 'include/traitement_formulaire_devis.inc.php';
}
De manière général il ne faut jamais utiliser une variable ou un index de tableau sans savoir s'il existe. (oui ce n'est qu'une notice mais il y a parfois des surprise avec l'auto boxing).

Pour les deux autres cas je suppose que c'est $_REQUEST['modele'] que tu veux et non $modele. Il ne faut pas utiliser l'auto déclaration des variables (parce que ça fout le bordel et parce que c'est supprimé depuis php 5.4).

Le plus simple pour t'aider va être d'utiliser un IDE (elipse / apatana studio, phpstrom, zend studio, netbeans etc etc) qui va t'indiquer l'erreur de syntaxe réel.

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

20 févr. 2016, 23:10

Merci beaucoup pour ta réponse. Bonne continuation.