Parse error: parse error, unexpected $end....

Fermé
darco - 28 mai 2004 à 21:33
 darco - 29 mai 2004 à 19:34
salut a tous
Mon probleme est que lorsque que j'execuse une page php 4.3.3 en local , celle-ci fonctionne tres bien , et quand je la transfere chez mon hébergeur, cela ne fonctionne plus et m'affiche,
Parse error: parse error, unexpected $end in ......

j'ai testé chez un autre hebergeur (ovh) cela fonctionne tres bien aussi (le probleme c'est que je ne suis pas hébergé chez eux :-( )

voici le bout de code générant une erreur:
if ($page <> "1" && $compt1 < $valeur)
{?>
<center>
<form name=\"form\" method=\"post\" action=\"test.php?page=<? echo $page = $page - 1; ?>\">
<p style=\"line-height: 100%; margin-top: 0; margin-bottom: 0\">
<input name=\"recherche\" type=\"hidden\" size=\"25\" maxlength=\"40\" value = \"<?echo $recherche;?>\">
<input name=\"valeur\" type=\"hidden\" size=\"\" maxlength=\"\" value = \"<?echo $valeur;?>\">
<input type=\"image\" name=\"Submit\" src=\"./images/fleche_gauche.bmp\" width=\"28\" height=\"27\">
</form>
</center>
<p style=\"line-height: 100%; margin-top: 0; margin-bottom: 0\"><?
}
$requete = "update recherche set yes = yes where indexation like %$art% or mots_cles like %$art% or description like %$art% or title like %$art% or url like %$art% ";
$mysql = mysql_query($requete);
}
}
else
{
$compte_mots = count(explode(" ",$recherche));
if ($compte_mots == 1)
{
function high($recherche,$chaine)
{
return preg_replace('|('.quotemeta($recherche).')|iU', '<b style="color:#000000">\\1</b>', $chaine);
}

et la ligne incriminée serait celle la: if ($compte_mots == 1)
les caracteristiques de mon hébergeur sont php 4.3.2 et serveur iis et base mysql.

Le plus etonnant dans tout ca c 'est qu'il ne traite pas les 750 lignes précedentes , et genere directement l'erreur.

Si qq'un a une idée, car moi je suis a court.
merci

2 réponses

Cyber Liz Messages postés 64 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 18 août 2004 50
28 mai 2004 à 21:51
Bonjour,

Tu as essayé de mettre ton if ($compte_mots == 1) en commentaire? Les erreurs que php te donne sont rarement où php te dit qu'elle sont... Tu devrais essayer d'isoler le problème en mettant ton code en commentaire et vérifier quelle ligne fait planter ton programme.
0
salut
le mettre en commentaire je l'ai faiset ca ne fontionne pas, et j'ai meme créer une nouvelle page commencant par :
$compte_mots = count(explode(" ",$recherche));
if ($compte_mots == 1)
{
function high($recherche,$chaine)
{
return preg_replace('|('.quotemeta($recherche).')|iU', '<b style="color:#000000">\\1</b>', $chaine);
} ........................

et la ca marche.
le plus bizzarre c'est que ca marche en local et pas chez mon hebergeur
0
DDCom Messages postés 8 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 2 septembre 2004 1
29 mai 2004 à 02:10
Est-ce que t'as des variable passer par le formulaire, certains serveur les rende Global et d'autre nom, pour y avoir acces essaie

$ma_variable = $_POST["$ma_variable"];


Bonne chance
0
salut a tous
merci
pour vos réponses mais ce la ne fonctionne pas :-(
0