Erreur dans mon programme php

Fermé
ANTHURIUMRE - 26 juin 2010 à 17:03
 ANTHURIUMRE - 28 juin 2010 à 04:01
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");
}
?>



A voir également:

6 réponses

linocanmiki Messages postés 9 Date d'inscription jeudi 1 octobre 2009 Statut Membre Dernière intervention 28 juin 2010
26 juin 2010 à 19:23
Bonsoir,

Commence par donner l'erreur affichée.
0
ANTHURIUMRE
26 juin 2010 à 19:42
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 Date d'inscription lundi 21 juin 2010 Statut Contributeur Dernière intervention 26 juin 2010
26 juin 2010 à 19:43
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
26 juin 2010 à 19:48
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 9 Date d'inscription jeudi 1 octobre 2009 Statut Membre Dernière intervention 28 juin 2010
26 juin 2010 à 20:03
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 9 Date d'inscription jeudi 1 octobre 2009 Statut Membre Dernière intervention 28 juin 2010
26 juin 2010 à 20:05
"elseIf" serait mieux que "elself"
0
ANTHURIUMRE
27 juin 2010 à 10:04
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
27 juin 2010 à 15:50
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 9 Date d'inscription jeudi 1 octobre 2009 Statut Membre Dernière intervention 28 juin 2010
27 juin 2010 à 16:00
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
27 juin 2010 à 17:51
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 61 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 16 août 2010 2
28 juin 2010 à 03:37
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
28 juin 2010 à 04:01
Bonjour bobtipitt,
j'utilise Notepad++ et il ne me signale rien d'anormal.
Merci pour votre aide.
Bien cordialement Anthuriumre.
0