IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Message d'erreur dans public.php [Spip]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Message d'erreur dans public.php
    Bonjour,

    Je suis webmaster d'un site sous SPIP (SPIP 1.9 - squelette tpl-easysqueletting):

    http://lobotos.com/

    Quand on fait une recherche sur le site par le biais du formulaire de recherche, il arrive qu'il y ait cette erreur affichée :

    Parse error: syntax error, unexpected T_STRING in /homepages/2/d168693671/htdocs/ecrire/public.php(174) : eval()'d code on line 105

    Note : Le numéro d'erreur de la ligne varie...

    Bizzaremment, ça le fait pas avec tous les termes de recherche (sans raison évidente).

    J'aimerais bien avoir un avis éclairé pour résoudre ce problème.

    Merci.

    Voici la ligne 105 du fichier public.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include_spip('public/assembler');
    Et voici le code du fichier public.php en entier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    <?php
     
    /***************************************************************************\
     *  SPIP, Systeme de publication pour l'internet                           *
     *                                                                         *
     *  Copyright (c) 2001-2009                                                *
     *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
     *                                                                         *
     *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
     *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
    \***************************************************************************/
     
    // Distinguer une inclusion d'un appel initial
     
    if (isset($GLOBALS['_INC_PUBLIC'])) {
     
    	echo recuperer_fond($fond, $contexte_inclus, array(), _request('connect'));
     
    } else {
     
    	$GLOBALS['_INC_PUBLIC'] = 0;
     
    	// Faut-il initialiser SPIP ? (oui dans le cas general)
    	if (!defined('_DIR_RESTREINT_ABS'))
    		if (defined('_DIR_RESTREINT')
    		AND @file_exists(_DIR_RESTREINT.'inc_version.php')) {
    			include_once _DIR_RESTREINT.'inc_version.php';
    		}
    		else
    			die('inc_version absent ?');
     
     
    	// $fond defini dans le fichier d'appel ?
    	// note : securise anti-injection par inc/utils.php
     
    	else if (isset($fond)) { }
     
    	// fond demande dans l'url par page=xxxx ?
    	else if (isset($_GET[_SPIP_PAGE])) {
    		$fond = $_GET[_SPIP_PAGE];
     
    		// Securite
    		if (strstr($fond, '/')) {
    			include_spip('inc/minipres');
    			echo minipres();
    			exit;
    		}
    		// l'argument Page a priorite sur l'argument action
    		// le cas se presente a cause des RewriteRule d'Apache
    		// qui permettent d'ajouter un argument dans la QueryString
    		// mais pas d'en retirer un en conservant les autres.
    		if (isset($_GET['action']) AND $_GET['action'] === $fond)
    			unset($_GET['action']);
    	# sinon, fond par defaut
    	} else {
    		// traiter le cas pathologique d'un upload de document ayant echoue
    		// car trop gros
    		if (empty($_GET) AND empty($_POST) AND empty($_FILES)
    		AND isset($_SERVER["CONTENT_LENGTH"])
    		AND strstr($_SERVER["CONTENT_TYPE"], "multipart/form-data;")) {
    			include_spip('inc/getdocument');
    			erreur_upload_trop_gros();
    		}
     
    		// mais plus probablement nous sommes dans le cas
    		$fond = 'sommaire';
    	}
     
    	$tableau_des_erreurs = 	$tableau_des_temps = array();
     
    	// Particularites de certains squelettes
    	if ($fond == 'login')
    		$forcer_lang = true;
     
    	if ($forcer_lang AND ($forcer_lang!=='non') AND !_request('action')) {
    		include_spip('inc/lang');
    		verifier_lang_url();
    	}
     
    	$lang = !isset($_GET['lang']) ? '' : lang_select($_GET['lang']);
     
    	// Charger l'aiguilleur des traitements derogatoires
    	// (action en base SQL, formulaires CVT, AJax)
    	include_spip('public/aiguiller');
    	if (
    		// cas des appels actions ?action=xxx
    		traiter_appels_actions()
    	OR
    		// cas des hits ajax sur les inclusions ajax
    		traiter_appels_inclusions_ajax()
    	 OR 
    	 	// cas des formulaires charger/verifier/traiter
    	  traiter_formulaires_dynamiques())
    	  exit; // le hit est fini !
     
    	// si signature de petition, l'enregistrer avant d'afficher la page
    	// afin que celle-ci contienne la signature
     
    	if (isset($_GET['var_confirm'])) {
    		$reponse_confirmation = charger_fonction('reponse_confirmation','formulaires/signature');
    		$reponse_confirmation($_GET['var_confirm']);
    	}
     
    	// Il y a du texte a produire, charger le metteur en page
    	include_spip('public/assembler');
    	$page = assembler($fond, _request('connect'));
     
    	if (isset($page['status'])) {
    		include_spip('inc/headers');
    		http_status($page['status']);
    	}
     
    	// Content-Type ?
    	if (!isset($page['entetes']['Content-Type'])) {
    		$page['entetes']['Content-Type'] = 
    			"text/html; charset=" . $GLOBALS['meta']['charset'];
    		$html = true;
    	} else {
    		$html = preg_match(',^\s*text/html,',$page['entetes']['Content-Type']);
    	}
     
    	if ($var_preview AND $html) {
    		include_spip('inc/minipres'); // pour http_img_pack
    		$x = '<div class="spip_large" style="
    		display: block;
    		color: #eeeeee;
    		background-color: #111111;
    		padding-right: 5px;
    		padding-top: 2px;
    		padding-bottom: 5px;
    		top: 0px;
    		left: 0px;
    		position: absolute;
    		">' 
    		. http_img_pack('naviguer-site.png', _T('previsualisation'), '')
    		. '&nbsp;' . majuscules(_T('previsualisation')) . '</div>';
    		if (!$pos = strpos($page['texte'], '</body>'))
    			$pos = strlen($page['texte']);
    		$page['texte'] = substr_replace($page['texte'], $x, $pos, 0);
    	}
     
    	// est-on admin ?
    	if ($affiche_boutons_admin = (
    	isset($_COOKIE['spip_admin']) 
    	AND !$flag_preserver
    	AND ($html OR ($var_mode == 'debug') OR count($tableau_des_erreurs))
    	))
    		include_spip('balise/formulaire_admin');
     
    	// Execution de la page calculee
     
    	// decomptage des visites, on peut forcer a oui ou non avec le header X-Spip-Visites
    	// par defaut on ne compte que les pages en html (ce qui exclue les js,css et flux rss)
    	$spip_compter_visites = $html?'oui':'non';
    	if (isset($page['entetes']['X-Spip-Visites'])){
    		$spip_compter_visites = in_array($page['entetes']['X-Spip-Visites'],array('oui','non'))?$page['entetes']['X-Spip-Visites']:$spip_compter_visites;
    		unset($page['entetes']['X-Spip-Visites']);
    	}
     
    	// 1. Cas d'une page contenant uniquement du HTML :
    	if ($page['process_ins'] == 'html') {
    		envoyer_entetes($page['entetes']);
    	}
     
    	// 2. Cas d'une page contenant du PHP :
    	// Attention cette partie eval() doit imperativement
    	// etre declenchee dans l'espace des globales (donc pas
    	// dans une fonction).
    	else {
    		// sinon, inclure_balise_dynamique nous enverra peut-etre
    		// quelques en-tetes de plus (voire qq envoyes directement)
    		ob_start(); 
    		xml_hack($page, true);
    		$res = eval('?' . '>' . $page['texte']);
    		$page['texte'] = ob_get_contents(); 
    		xml_hack($page);
    		ob_end_clean();
     
    		envoyer_entetes($page['entetes']);
    		// en cas d'erreur lors du eval,
    		// la memoriser dans le tableau des erreurs
    		// On ne revient pas ici si le nb d'erreurs > 4
    		if ($res === false AND $affiche_boutons_admin) {
    			include_spip('public/debug');
    			erreur_squelette(_T('zbug_erreur_execution_page'));
    		}
     
    	}
     
    	// Passer la main au debuggueur le cas echeant
     
    	if ($var_mode == 'debug') {
    		include_spip('public/debug');
    		$var_mode_affiche = _request('var_mode_affiche');
    		$var_mode_objet = _request('var_mode_objet');
    		debug_dumpfile($var_mode_affiche== 'validation' ? $page['texte'] :"",
    			       $var_mode_objet,$var_mode_affiche);
    	} 
     
    	if (count($tableau_des_erreurs) AND $affiche_boutons_admin)
    		$page['texte'] = affiche_erreurs_page($tableau_des_erreurs)
    			. $page['texte'];
     
    	//
    	// Post-traitements et affichage final
    	//
    	page_base_href($page['texte']);
     
    	// (c'est ici qu'on fait var_recherche, tidy, boutons d'admin,
    	// cf. public/assembler.php)
    	echo pipeline('affichage_final', $page['texte']);
     
    	if (count($tableau_des_temps) AND $affiche_boutons_admin) {
    		include_spip('public/debug');
    		echo chrono_requete($tableau_des_temps);
    	}
     
    	// Gestion des statistiques du site public
    	if (($GLOBALS['meta']["activer_statistiques"] != "non")
    	AND $spip_compter_visites!='non') {
    		$stats = charger_fonction('stats', 'public');
    		$stats();
    	}
     
    	if (isset($GLOBALS['meta']['date_prochain_postdate'])
    	AND $GLOBALS['meta']['date_prochain_postdate'] <= time()) {
    		include_spip('inc/rubriques');
    		calculer_prochain_postdate(true);
    	}
     
    	// Effectuer une tache de fond ?
    	// si #SPIP_CRON est present, on ne le tente que pour les navigateurs
    	// en mode texte (par exemple), et seulement sur les pages web
    	if ($html
    	AND !strstr($page['texte'], '<!-- SPIP-CRON -->')
    	AND !preg_match(',msie|mozilla|opera|konqueror,i', $_SERVER['HTTP_USER_AGENT']))
    		cron();
    }
     
    ?>

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut problème résolu
    Le problème venait d'un code PHP que j'avais inséré dans la page recherche.html.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/06/2009, 16h24
  2. [EasyPHP] Message d 'erreur dans ma page de demarrage index.php
    Par cdevl32 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 25/09/2007, 16h33
  3. Message d'erreur dans phpMyadmin
    Par riadh100 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/09/2005, 14h03
  4. [Tiles]message d'erreur dans un footer (form mal rempli)
    Par clement42 dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/06/2005, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo