Besoin de votre aide c urgent stp

w tamdy ayam Messages postés 30 Statut Membre -  
aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je suis entr1 de faire un formulaire de connexion
mais jai des prob dans le prob jai essay de les regle mais jai pas pu
dans les troi dernier ligne vous pouvez m'aide stp

<?php

session_start();

$BDD = mysql_connect("localhost","root",""); // Connexion à la base de données.
mysql_select_db("banque"); // Sélection de la base de données utilisée.

// On met les variables utilisés du script PHP à FALSE.
$error = FALSE;

$connexionOK = FALSE;

// On regarde si l'utilisateur a bien utilisé le module de connexion pour traiter les données.
if(isset($_POST["connexion"])){

// On regarde si tout les champs sont remplis. Sinon on lui affiche un message d'erreur.
if($_POST["login"] == NULL OR $_POST["pass"] == NULL){

$error = TRUE;

$errorMSG = "Vous devez remplir tout les champs !";

}

// Sinon si tout les champs sont remplis alors on regarde si le nom de compte rentré existe bien dans la base de données.
else{

$sql = "SELECT login FROM users WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si oui, on continue le script...
if($sql){

// On sélectionne toute les données de l'utilisateur dans la base de données.
$sql = "SELECT * FROM users WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si la requête SQL c'est bien passé...
if($sql){

// On récupère toute les données de l'utilisateur dans la base de données.
$donnees = mysql_fetch_assoc($req);

// Si le mot de passe entré à la même valeur que celui de la base de données, on l'autorise a se connecter...
if($_POST["pass"] == $donnees["pass"]){

$connexionOK = TRUE;

$connexionMSG = "Connexion au site réussie. Vous êtes désormais connecté !";

$_SESSION["login"] = $_POST["login"];

$_SESSION["pass"] = $_POST["pass"];

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

}

mysql_close($BDD);

?>

<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){ echo"<p style="color:green">Bienvenue <strong>".$_SESSION["login"]."</strong></p>";}?>

<?php if($error == TRUE){ echo"<p align="center" style="color:red"><strong>".$errorMSG."</strong></p>" ;} ?>

<?php if($connexionOK == TRUE){ echo "<p align="center" style="color:green"><strong>".$connexionMSG."</strong></p>" ;} ?>

A voir également:

5 réponses

aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
 
Quelle est l'erreur?
0
w tamdy ayam Messages postés 30 Statut Membre
 
salem merci de votre attention
l'erreur dans cest troi ligne
<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){ echo"<p style="color:green">Bienvenue <strong>".$_SESSION["login"]."</strong></p>";}?>
<?php if($error == TRUE){ echo"<p align="center" style="color:red"><strong>".$errorMSG."</strong></p>" ;} ?>
<?php if($connexionOK == TRUE){ echo "<p align="center" style="color:green"><strong>".$connexionMSG."</strong></p>" ;} ?>
beh dans , ou ; ou , je c pas jai essay tt mai ca marche pas
0
aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
 
Je veux dire, est-ce qu'il y a une erreur qui s'affiche? qu'est ce qu'il se passe.
0
w tamdy ayam Messages postés 30 Statut Membre
 
voila
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files\EasyPHP-5.3.2i\www\banque\connexion.php on line 98
merci bien
0
aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
 
Voila! Fallait le dire depuis le debut!

Alors l'erreur c'est que tu utilise des guillemets " dans " ? Il faut les sauter (escape)
par exemple:

echo"<p style=\"color:green\"> remarque les slashes.

Si on ouvre un string avec ' les ' à l'interieurs doivent avoir un \, pareil pour "

Pour éviter ces problèmes:
echo '<p style="color:green"> remarque les slashes.' (utilise ' et non ")

Encore mieux et c'est plus beaux:

<? if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])) : ?>
<p style="color:green">Bienvenue <strong><?=$_SESSION["login"]?></strong></p>
<? endif ?>

<? if($error == TRUE) : ?>
<p align="center" style="color:red"><strong><?=$errorMSG?></strong></p>
<? endif ?>

<? if($connexionOK == TRUE) : ?>
<p align="center" style="color:green"><strong><?=$connexionMSG?></strong></p>
<? endif ?>
0
aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
 
Des préférences, utilise un editeur PHP, il detecte ce genre d'erreurs facilement.

Le meilleur open source: http://www.aptana.com/
0
w tamdy ayam Messages postés 30 Statut Membre
 
merci bien mais jai tjr un prob :s les erreur c bon mais falai lorsk je tappe le login et passe il connecte normal mais il conecte pas :s tu pe m'aide encor voila le code source





=============================================================

<?php

session_start();

$BDD = mysql_connect("localhost","root",""); // Connexion à la base de données.
mysql_select_db("banque"); // Sélection de la base de données utilisée.

// On met les variables utilisés du script PHP à FALSE.
$error = FALSE;

$connexionOK = FALSE;

// On regarde si l'utilisateur a bien utilisé le module de connexion pour traiter les données.
if(isset($_POST["connexion"])){

// On regarde si tout les champs sont remplis. Sinon on lui affiche un message d'erreur.
if($_POST["login"] == NULL OR $_POST["pass"] == NULL){

$error = TRUE;

$errorMSG = "Vous devez remplir tout les champs !";

}

// Sinon si tout les champs sont remplis alors on regarde si le nom de compte rentré existe bien dans la base de données.
else{

$sql = "SELECT login FROM users WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si oui, on continue le script...
if($sql){

// On sélectionne toute les données de l'utilisateur dans la base de données.
$sql = "SELECT * FROM users WHERE login = '".$_POST["login"]."' ";

$req = mysql_query($sql);

// Si la requête SQL c'est bien passé...
if($sql){

// On récupère toute les données de l'utilisateur dans la base de données.
$donnees = mysql_fetch_assoc($req);

// Si le mot de passe entré à la même valeur que celui de la base de données, on l'autorise a se connecter...
if($_POST["pass"] == $donnees["pass"]){

$connexionOK = TRUE;

$connexionMSG = "Connexion au site réussie. Vous êtes désormais connecté !";

$_SESSION["login"] = $_POST["login"];

$_SESSION["pass"] = $_POST["pass"];

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

// Sinon on lui affiche un message d'erreur.
else{

$error = TRUE;

$errorMSG = "Nom de compte ou mot de passe incorrect !";

}

}

}

mysql_close($BDD);

?>

<? if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])) :?>
<p style="color:green">Bienvenue <strong> <?=$_SESSION["login"] ?></strong></p>
<? endif ?>

<? if($error == TRUE) :?> <p align="center" style="color:red"><strong><?=$errorMSG?></strong></p>
<? endif ?>

<? if($connexionOK == TRUE) :?>
<p align="center" style="color:green"><strong><?=$connexionMSG?></strong></p>
<? endif ?>
<html>

<head>

<title>Création d'un formulaire de connexion en HTML</title>

</head>

<body>

<h2>Connexion au site</h2>

<form action="connexion.php" method="post">

<table>

<tr>

<td><label for="login"><strong>Nom de compte</strong></label></td>
<td><input type="text" name="login" id="login"/></td>

</tr>

<tr>

<td><label for="pass"><strong>Mot de passe</strong></label></td>
<td><input type="password" name="pass" id="pass"/></td>

</tr>

</table>

<input type="submit" name="connexion" value="Se connecter"/>

</form>

</body>

</html>
======================================================
0
w tamdy ayam Messages postés 30 Statut Membre
 
voila l'erreur
Notice: Undefined index: pass in C:\Program Files\EasyPHP-5.3.2i\www\banque\connexion.php on line 85
Bienvenue
0

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

Posez votre question
aladin07 Messages postés 277 Date d'inscription   Statut Membre Dernière intervention   30
 
1 -
// On regarde si tout les champs sont remplis. Sinon on lui affiche un message d'erreur.
if($_POST["login"] == NULL OR $_POST["pass"] == NULL){

if( ! isset($_POST["login"]) OR ! isset($_POST["pass"])){

2 - N'utilise jamais mysql_*, utilise plutot mysqli_* (mysqli_connect(), mysqli_query() ...etc.

3 - // On récupère toute les données de l'utilisateur dans la base de données.
$donnees = mysql_fetch_assoc($req);

Fais un
echo '<pre>';
var_dump($donnees);
echo '</pre>';

pour voir si tu récupere bien les données
0