Erreur dans mon programme php

ANTHURIUMRE -  
 ANTHURIUMRE -
Bonjour,

J'essaie de mettre en place tant bien que mal une page réservée en programmant avec php. Mais quand je soumets le login et mot de passe une erreur s'affiche à la ligne 50 relatif à mon fichier login.php sans que je puisse comprendre les motifs. Pouvez-vous s'il vous plaît m'éclairer. Merci pour votre aide : Voici le code :


<?php
/*programme : login.php
*description : Programme de login pour la section à accès réservé
*du site. Il propose une option de
*s'identifier par un couple nom de login et mot de passe
*identificateur et mot de passe sont conservés dans une base
*/
session_start();
include("nova.inc");
switch (@$_post['do'])
{
case"login":
$cxn=mysqli_connect($host,$user,$password,$database)
or die ("Connexion impossible au serveur dans case login");
$sql="SELECT loginName FROM adherents
WHERE loginName='$_POST[fusername]'";
$result=mysqli_query(cxn,$sql)
or die ("Requête en échec 1.");
$num=mysqli_num_rows($result);
if ($num>0) // loginName non trouvé
{
$sql="SELECT loginName FROM adherents
WHERE loginName='$_POST[fusername]'
AND password=md5('$_POST[fpassword]')";
$result2=mysqli_query($cxn,$sql)
or die("Requête en échec 2.");
$num2=mysqli_num_rows($result2);
if (num2>0) // mot de passe OK
{
$_SESSION['auth']="yes";
$logname=$_POST['fusername'];
$_SESSION['logname']=$logname;
$today=date("Y-m-d h:i:s");
$sql="INSERT INTO Login (loginName, loginTime)
VALUES ('$logname','$today')";
$result=mysqli_query($cxn,$sql)
or die("INSERT en échec.");
header("location:membre_page.php");/***** *****/
}
else // mot de passe incorrect
{
$message="Le nom de Login '$POST(fusername)'
existe, mais le mot de passe ne
va pas ! Réessayez.<br>";
include("login_form.inc");
}
}
elself ($num==0) // Nom de login introuvable

$message="Le nom de login que vous avez saisi n'existe pas. Essayez encore.<br>";
include("login_form.inc");
}
?>



6 réponses

linocanmiki Messages postés 11 Statut Membre
 
Bonsoir,

Commence par donner l'erreur affichée.
0
ANTHURIUMRE
 
Bonsoir linocanmiki, merci de vous intéresser à mon problème. L'erreur qui s'affiche est la suivante :
Parse error: parse error, unexpected T_VARIABLE in C:\Program Files\EasyPHP 2.0b1\www\Login.php on line 50
Encore une fois merci.
0
vtechnocontrib Messages postés 1 Statut Contributeur
 
ne manquerait-il pas une accolade ?

elself ($num==0) // Nom de login introuvable
{
$message="Le nom de login que vous avez saisi n'existe pas. Essayez encore.<br>";
include("login_form.inc");
}
0
ANTHURIUMRE
 
Bonsoir vtechnocontrib, merci de vous intéressez à mon problème. Mais lorsque je mets l'accolade il me signale une erreur à la ligne 49. Sitôt que je l'enlève me signale une erreur à la ligne 50. Merci encore.
0
linocanmiki Messages postés 11 Statut Membre
 
Il manque 2 accolades, une d'ouverture et une de fermeture :

ca donnerais :


    }
    elself ($num==0) // Nom de login introuvable
   {
           $message="Le nom de login que vous avez saisi n'existe pas. Essayez encore.<br>";
            include("login_form.inc");
   }
}
 
0
linocanmiki Messages postés 11 Statut Membre
 
"elseIf" serait mieux que "elself"
0
ANTHURIUMRE
 
Bonjour linocanmiki et vtechnocontrib, vos aides m'ont été précieuses et j'ai fais ce que vous m'avez dit. Pour cette section cela fonctionne même si je peine ailleurs. Merci encore mille fois à tous les deux.

Bien cordialement Anthuriumre.
0
ANTHURIUMRE
 
Bonjour bien que les problèmes précédents soient résolus un autre vient se présenter lorsque je soumets un login et un mot de passe pour tester mon code : le message suivant s'affiche à son tour :
Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in C:\Program Files\EasyPHP-5.3.2i\www\login_form.inc on line 77
Pouvez-vous m'éclairer s'il vous plaît ? Merci et si vous ne pouvez pas ce n'est pas grave et merci quand même.

Voici la partie concerné pour la ligne 77 du fichier cité :

<table border="1" cellspading="5" cellspacing="0">

<tr><td colspan="3" class="grey_banner">
Membres uniquement</td></tr>
<tr><td width="33%" valign="top" class="bold_large">
Etes-vous membres ?
<!--pour les logins des nouveaux membres-->
<form action="Login.php" method="POST">
<p><table border="0">
<?php
if (isset($message))
{
echo"<tr><td style='color:red' /* ligne 77 */
colspan="2">$message <br/></td></tr>";
}
?>
<tr><td class="bold_right">Identifiant</td>
<td><input type="text" name="fusername"
sieze="20" maxsize="20"></td></tr>
<tr><td class="bold_right">Mot de passe</td>
<td><input type="password" name="password"
size="20" maxisize="20"></td></tr>
<input type="hidden" name="do"
value="login">
<tr><td style="text-align:center" colspan="2">
<br/><input type="submit" name="log"
value="identifiez-vous"></td></tr>
</table>
</form>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
linocanmiki Messages postés 11 Statut Membre
 
bonjour,

il faut faire attention aux cotes. De plus pour afficher le contenu de ta variable $message, utilise la concaténation comme ceci :

echo "<tr><td style='color:red' colspan='2'>".$message."<br/></td></tr>";

ca devrait marcher comme ca.
0
ANTHURIUMRE
 
Bonsoir linocanmiki, ça fonctionne à ceci près que l'erreur s'affiche à la ligne 76 :
Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in C:\Program Files\EasyPHP-5.3.2i\www\login_form.inc on line 76
Mais merci quand même pour ton soutien.
Bien cordialement Anthuriumre.
0
bobtipitt Messages postés 63 Statut Membre 2
 
Si tu as un problème avec ta syntaxe PHP, utilise un bon éditeur simple. Moi, personnellement j'utilise Notepad++. Quand tu selection une accolade ou une parenthèse, il est capable de détecter l'autre parenthèse ou accolade rataché. Alors si il y en a une qui est rataché à rien, tu le sauras!
0
ANTHURIUMRE
 
Bonjour bobtipitt,
j'utilise Notepad++ et il ne me signale rien d'anormal.
Merci pour votre aide.
Bien cordialement Anthuriumre.
0