Problème avec un code php

Fermé
Karim9z - 24 mai 2009 à 14:22
 cm2000 - 11 juil. 2009 à 23:38
Bonjour, j'ai travaillé pour réussir a sortir ce code php qui ne fonctionne pas!! En gros j'ai un formulaire sur une page antérieur ou l'utilisateur entre son identifiant et son code et cette page doi permettre de vérifier que le code et l'identifiant sont présent sur la base de donnée qui a été préablement remplite. La connection a la base de donnée est correcte je pense.Je précise que je ne cherche pas a avoir un code compliqué je voudrais juste comprendre mon érreur et par la suite je ferais évolué mon code a souhait:! Merci d'avance voici le code:
<html>
<head> <title> Vérification </title>
</head>
<body>
<?
include"connect_bato.php";

$login_cli=$_POST['passwordcli'];
$password_cli=$_POST['nom'];

$sql = "select password_cli from CLIENT where login_cli=". $_POST['logincli'] ;
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);


if ($data['password_cli'] != $passwordcli)
{
echo '<p>Mauvais login / password. Merci de recommencer</p>';
include"login.php";
}
else {
session_start();
$_SESSION['login_cli'] = $logincli;


echo 'Vous etes bien logué';
include"page client.php";
}
?>
</body>
</html>
A voir également:

9 réponses

Bonjour

Dans la requête, le login doit être entre apostrophes :
$sql = "select password_cli from CLIENT where login_cli='". $_POST['logincli']."'" ;
0
Merci beaucoup esperons que je n'ai pas fait d'autre erreur j'essayerai demain car je n'ai pas la base de donnée pour testé !! Merci
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
24 mai 2009 à 15:39
slt
mais dit t'es sure que les données issues du formulaire sont bien affectées aux variables correspondantes? je parle de ces lignes de codes

$login_cli=$_POST['passwordcli'];
$password_cli=$_POST['nom'];

si oui je pense que la requete serais un truc du genre:
$sql = "select password_cli from CLIENT where login_cli='". $_POST['logincli']."'" ;

mais là encore un gros probleme. d'où tu sort la variable logincli? tu la recupère où? et là c'est un peu embrouiller qui est effectivement le login passwordcli ou logincli
moi je ne comprend vraiment plus rien essaie d'etre un peu plus claire.

cdlt.
0
Autres problèmes
session_start(); devait être AVANT tout envoi au client , donc avant le <html>
la balise d'ouverture de php est <?php et non pas <?. Certains serveurs acceptent le <? mais tu n'es pas sûr d'avance. <?php est toujours accepté
0

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

Posez votre question
Merci encore je testerais tout ça demain et je vous dirais si tout cela a marché! Pour repondre a william en ce qui concerne le formulaire je me débrouille j'ai déjà tout vérifié cela marche merci si quelqu'un remarque une autre erreur qu'il le disent! Merci
0
<html>
<head><title> formulaire </title> </head>
<body>
<FORM METHOD="POST" ou "GET" ACTION="verif.php">
veuillez saisir votre identifiant <INPUT type="TEXT" value="Respectez les majuscules" name="passwordcli">
<br><br<
veuillez saisir votre code <INPUT type="TEXT" value="Respectez les majuscules" name="logincli">
</form>
</body>
</html>



voila a quoi ressemble mon formulaire
0
<html>
<head><title> formulaire </title> </head>
<body>
<FORM METHOD="POST" ou "GET" ACTION="verif.php">
veuillez saisir votre identifiant <INPUT type="TEXT" value="Respectez les majuscules" name="passwordcli">
<br><br<
veuillez saisir votre code <INPUT type="TEXT" value="Respectez les majuscules" name="logincli">
</form>
</body>
</html>



voila a quoi ressemble mon formulaire bien sur il y a le bouton envoyer
__________________________________
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
24 mai 2009 à 22:47
ok ok
voilà à quoi va ressembler notre page verif.php

<?php
session_star();
?>

<html>
<head><title> formulaire </title> </head>
<body> 
<?php
include"connect_bato.php"; 
$login = $_POST['logincli'];
$pwd = $_POST['passwordcli'];

$req = mysql_query("SELECT password_cli FROM CLIENT WHERE login_cli = '".$login."'");
if(mysql_num_rows($req) > 0)
{
   $data = mysql_fetch_array($req);
   if($pwd == $data['password_cli'])
   {
      $_SESSION['login_cli'] = $login;
   }
   else
   {
       echo '<p>Mauvais password. Merci de recommencer</p>';
       include("login.php");
   }
}
else
{
   echo '<p>Mauvais Login. Merci de recommencer</p>';
    include("login.php");
}

?>


toutefois je suppose ici que les password_cli et login_cli de la requete sont bien contenus dans la table CLIENT

et pour plus de securité essaie un truc du genre htmlentities, addslash, htmlspecialchar.... autour des variables $_POST

$login = $_POST['logincli'];
$pwd = $_POST['passwordcli'];

cdlt.
0
Bonjour.
A la base, cad a la saisie, il y aune erreur : vous inversez les variables login et mdp !
donc a la page de saisie, il faut mettre:
<form action = "verif.php" method="post">
veuillez saisir votre identifiant <INPUT type="TEXT" value="" name="login_cli">
<br><br<
veuillez saisir votre code <INPUT type="TEXT" value="" type="password" name="passwordcli">
</form>

et a la page qui recupere la saisie, il faut mettre:
$login_cli=$_POST['login_cli'];
$password_cli=$_POST['passwordcli'];
ou
$login_cli=htmlspecialchars($_POST['login_cli']);
$password_cli=htmlspecialchars($_POST['passwordcli']);
0