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

darco -  
 darco -
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

  1. Cyber Liz Messages postés 64 Statut Membre 50
     
    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
  2. darco
     
    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
    1. DDCom Messages postés 8 Statut Membre 1
       
      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
    2. darco
       
      salut a tous
      merci
      pour vos réponses mais ce la ne fonctionne pas :-(
      0