Unexpected T_ELSEIF

biblio -  
 biblio -
bonjour à tous,
j'ai une base en PHP/mysql développée par un copain que j'ai complètement perdu de vue et c'est bien dommage car je suis une bille en PHP.
du jour au lendemain, sans RIEN changer dans le code (normal j'y connais rien donc j'y touche jamais !) je ne peux plus me connecter en mode admin

sur la page login.php qui permet d'accèder au mode admin la base me renvoie ça maintenant:
Parse error: syntax error, unexpected T_ELSEIF in /home/capese/public_html/biblio/login.php on line 1

ma page login.php c'est ça (svp : je suis une bille n'oubliez pas, donc si vous pouviez éviter les réponses compliquées...merci d'avance)

<?
function db_connect($host,$db,$username,$password)
{
$mysql_link = mysql_connect($host,$username,$password);
mysql_select_db($db, $mysql_link);
return $mysql_link;
}

function exec_sql($sql,$connection)
{
$res = mysql_query($sql, $connection);
return $res;
}

function fetch_row($sql = 0)
{
if (!$sql):
return 0;
endif;

if ($sql):
$row[$sql]=@mysql_fetch_array($sql);
return $row[$sql];
else:
return false;
endif;
}

function envoie_cookie ($user,$pwd,$method="sql",$cookie_name="LE_rollotomasi")
{
$cookie_strings = $user.":".$pwd.":".$method;
//echo $cookie_strings;
setcookie($cookie_name, $cookie_strings);
}

//////////////////////////////////////////////////////////
// //
// Authentification //
// //
//////////////////////////////////////////////////////////

$posted=$_POST['posted'];

if (isset($_GET['path'])):
$path=$_GET['path'];
else:
$path=$_POST['path'];
endif;

//echo $path;
include ("conf.inc.php");

if(isset($posted)){

$user=$_POST['user'];
$pwd=md5($_POST['pwd']);
//printf("usr : %s, mdp : %s<br>",$user,$pwd);

$connection=db_connect($host,$db,$username,$password);

$query_usr="select count(*) from LE_membres where nom='$user'";
$resul_usr=exec_sql($query_usr,$connection);
while ($row=fetch_row($resul_usr))
{
$usr_ok=$row[0];
}
$query_pwd="select count(*) from LE_membres where password='$pwd'";
$resul_pwd=exec_sql($query_pwd,$connection);
while ($row=fetch_row($resul_pwd))
{
$pwd_ok=$row[0];
}

if(($usr_ok>0) && ($pwd_ok>0)):
envoie_cookie($user,$pwd);
?>
<script language="JavaScript">
document.location.replace("<? echo $path.""; ?>");
</script>
<?

elseif($usr_ok==0):
$msg1="Login incorrect!";
elseif($pwd_ok==0):
$msg2="Mot de passe incorrect!";
endif;
}

?>

<p> </p>
<p><font face="Arial, Helvetica, sans-serif" size="2"><b><font size="4" color="#336699">Authentification.</font></b></font></p>
<p><font face="Arial, Helvetica, sans-serif" size="2">Entre tes codes et la porte s'ouvrira :-)</font></p>

<?

if(isset($msg1)) {
echo("<font color=\"red\" size=\"2\" face=\"Arial\"><b>$msg1</b></font>");
}

if(isset($msg2)){
echo("<font color=\"red\" size=\"2\" face=\"Arial\"><b>$msg2</b></font>");
}

?>

<form action="login.php" method="post">
<table>
<tr>
<td width="92" class="txt_main"><font face="Arial, Helvetica, sans-serif" size="2"><b>Pseudonyme
: </b></font></td>
<td width="128"> <font face="Arial, Helvetica, sans-serif" size="2"><span class="txt_main">
<input type="text" name="user" value="<?echo $user;?>">
</span></font></td>
<td width="62"></td>
</tr>
<tr>
<td class="txt_main"><font face="Arial, Helvetica, sans-serif" size="2"><b>Mot
de passe :</b> </font></td>
<td> <font face="Arial, Helvetica, sans-serif" size="2"><span class="txt_main">
<input type="password" name="pwd">
</span></font></td>
<td></td>
</tr>
<tr>
<td> </td>
<td> <font face="Arial, Helvetica, sans-serif" size="2">
<input type="submit" name="Submit" value="Envoyer">
<input type="hidden" name="posted" value="1">
<input type="hidden" name="path" value="<?echo $path;?>">
</font></td>
<td></td>
</tr>
</table>

</form>

4 réponses

black-out
 
A la place de <? met <?php.
Il se peut que ton hébergeur soit passé sous php5 et que ton code ne soit pls valide.
0
biblio
 
merci de ta réponse.

en effet mon hébergeur est passé en PHP5 juste avant le pb.
je viens de tester ta méthode, j'ai remplacé les <? et les ?> par des <?php et des php?> et maintenant j'obtiens cette erreur:
Parse error: syntax error, unexpected T_STRING
à la place de
Parse error: syntax error, unexpected T_ELSEIF

pas d'autres moyens pour assurer la compatibilité entre les 2 normes ?

merci d'avance
0
black-out
 
Le <? tu le remplace par <?php mais le ?> tu le laisse
0
biblio
 
merci

bon ... je crois que je suis parti sur une fausse piste depuis le début
le code des pages n'est pas en faute !

je viens de faire un export-import la base sur le site free d'un copain en PHP5 et d'y déposer les pages PHP et ... ça marche chez lui !
hormis un autre truc très ennuyeux , ça marche.

c'est donc la preuve que le code des pages n'est pas en faute, c'est l'hébergeur.
ce sont les memes pages , la même base et les 2 hebergeurs sont en PHP5.

j'arrive donc enfin sur la page d"identification mais il ne veut pas me laisser rentrer, pb de password.
il ne me dit pas que mon passwd est faux, il ne dit rien, par contre si je mets un password bidon il râle , preuve qu'il interroge bien la base.
la page de login est tjrs la même, celle fournie plus haut dans le post.

merci d'avance
0