[RESOLU] Probleme de syntaxe - Merci pour votre aide

Eléphant du PHP | 62 Messages

26 févr. 2015, 17:46

Bonjour à tous,

J'ai voulu écrire:
Si l'url contient le mot "page" alors le contenu est comme ceci sinon le contenu sera égal à cela
function insertAds($content) 
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (false !== strpos($url,'page')) {
$content = $the_content;
else {
$content = $the_tittle.'
<!--Votre contenu est à insérer ci dessous -->
<p><br /></p>';
echo"<br><br>";
echo randomtext('emailbonjour');
echo"<br><br>";
echo randomtext('emailintermede');
echo"<br><br>";
return $content;
}
add_filter('the_excerpt_rss', 'insertAds');
add_filter('the_content_rss', 'insertAds');
Mais j'ai une erreur
Parse error: syntax error, unexpected '$url' (T_VARIABLE), expecting '{' in /home/gillescos/www/w/mon-site/wp-content/themes/stuffy/functions.php on line 307

et la ligne 307
qui est
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
Pourriez vous m'aider SVP à corriger cette erreur

Merci beaucoup pour votre aide

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

26 févr. 2015, 17:49

Bonjour,

Il te manque une accolade ouvrante à la ligne précédente pour la déclaration de ta fonction ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

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

26 févr. 2015, 17:52

Hello !

Ce type d'anomalie est en général provoqué par une erreur sur la ligne qui précède :)

Comme le message d'erreur le précise, PHP s'attend à trouver une accolade et est tombé sur une variable $url.
Parse error: syntax error, unexpected '$url' (T_VARIABLE), expecting '{'

:)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 62 Messages

26 févr. 2015, 21:20

Bonsoir si je rajoute l'accolade comme ceci
function insertAds($content) {
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (false !== strpos($url,'page')) {
$content = $the_content;
else {
$content = $the_tittle.'
<!--Votre contenu est à insérer ci dessous -->
<p><br /></p>';
echo"<br><br>";
echo randomtext('emailbonjour');
echo"<br><br>";
ça me met une erreur

Parse error: syntax error, unexpected 'else' (T_ELSE) in /home/gillescos/www/w/mon-site/wp-content/themes/stuffy/functions.php on line 310

La ligne 310 étant
else {
Comment puis-je faire SVP ?

Mammouth du PHP | 688 Messages

26 févr. 2015, 21:23

}else {

Eléphant du PHP | 62 Messages

26 févr. 2015, 21:45

Je suis désolé mais ça me met encore une erreur en ligne 310 et la ligne 310 c'est le }else {

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

26 févr. 2015, 22:42

Je suis désolé mais ça me met encore une erreur en ligne 310 et la ligne 310 c'est le }else {
Quel est le message d'erreur ?
A ton avis, que veut dire ce message ?
Qu'as-tu essayé pour tenter de résoudre le problème ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2278 Messages

26 févr. 2015, 22:48

1) présenter correctement (en indentant) ca aide.
2) Compter les accolades ca peut servir:
3) Une variable définie en dehors d'unefonction est invisible de celle-ci: il faut la passer en paramètre ou la éclarer globale
<?PHP
function insertAds($content)
{//1
global $the_tittle;
/* les fonctions sont délimitées par unr paire d'accolades Il suffit de les numéroter 
quand on n'est pas sur ou de se servir d'un éditeur à coloration syntaxique, Bluefish 
par exemple*/
	$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
	if (false !== strpos($url,'page')) 
	{//2
		$content = $the_content;
	}//2
	else 
	{//2
			$content = $the_tittle.'
			<!--Votre contenu est à insérer ci dessous -->
			<p><br /></p>';
			echo"<br><br>";
			//echo randomtext('emailbonjour');
			echo"<br><br>";
			//echo randomtext('emailintermede');
			echo"<br><br>";
	}// 2
	return $content;
}//1
$the_tittle = "Le titre"; // ou il faut le passer en paramètre ou le déclarer global
$z = insertAds('toto');
//	add_filter('the_excerpt_rss', 'insertAds');
//	add_filter('the_content_rss', 'insertAds');
 ?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD