Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

login et password

Pour ceux qui débutent en PHP.

login et password

Messagepar Sabrina tech 22 Fév 2011, 15:45

Salut tout le monde,

Je suis débutante en PHP et j'ai rencontrer un problème :
J'ai une bibliothèque dont je veux faire un espace membre pour pouvoir emprunter des livres saisis dans une base de données,
Après avoir créer ma base de données et après avoir faire l'inscription, on dos faire une connexion. (Mais c mon problème car j'arrive pas à le faire :( ...)
J'explique,

- Je veux afficher un message d'erreur au cas où le pseudo ou le mot de passe est incorrecte sinon
- Je veux passer à une autre page au cas où les données entrées sont valides.

Voici mon code pour pouvoir bien me comprendre et m'aider :

Syntaxe: [ Télécharger ] [ Masquer ]
Code php
<?php


include "connexion.php";

 if (isset($_POST['Submit']))
{
$connect=false;
$P=$_POST['textfieldd'];
$M=$_POST['textfieldd2'];


$requet="SELECT * FROM Pret";
$resultt = mysql_query($requet) or exit(mysql_error().'Echec');
 
  while( $data = mysql_fetch_assoc($resultt))
  {
 
if($P == $data['Pseudo'] && $M == $data['Pass'])
{
$connect ==true;
}
else
{
?>
             <script language="javascript">
               alert('Pseudo ou mot de passe incorrect');
             </script>  
<?php
}

}
}
?>            



J'attends vos réponses, et Merci pour vous d'avance :priere:
Sabrina tech
 

Re: login et password

Messagepar moogli 22 Fév 2011, 15:51

salut,

alors le test pour savoir si login et mot de passe existe c'est dans la requete SQL qu'il faut le faire, car la si tu à 250000 membres et que c'est le dernier inscrit qui se log c'est 249999 tour du while pour quedal ;)

je te conseil de bien regarder le tuto sur l'espace membre pour corriger ton code ;)


@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7534
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Re: login et password

Messagepar Sabrina tech 22 Fév 2011, 16:17

Merci pour votre réponse et Merci pour ce Tuto ca m'a aidé à autre chose, mais il n'y a pas ce que je cherche,
car j'ai vérifier s'il le membre existe ou pas et ca a bien marché, mon problème c'est :
1. l'affichage du message d'erreurs au cas où les données sont invalide et être sur la même page si non :
2. (Comment) Passer à un autre page (où il est connecté)

J'ai essayé mais j'ai pas réussis, j'avais 2 cas il m'affiche le message d'erreur si non il page à une page (et c'est en ajoutant : "action="espacemembre.php"") mais mon but est de les faire les 2 afficher le message et changer la page J'espère que c claire
Sabrina tech
 

Re: login et password

Messagepar xTG 22 Fév 2011, 16:23

1) j'ai pas bien compris, car le tutorial permet de gérer et d'afficher les erreurs.
2) tournes toi vers la fonction header(), elle te permettra de rediriger l'utilisateur. Tu peux aussi le faire avec un délai via le HTML(balise meta) ou le javascript( setTimeout() et document.location.href = 'url').
xTG
ViPHP
ViPHP
 
Messages: 7035
Inscription: 03 Aoû 2010, 19:12

Re: login et password

Messagepar Sabrina tech 22 Fév 2011, 16:30

ok, Merci je vais essayer d'utiliser ces fonctions et on verra ce qui ce passera
MERCI et @+
Sabrina tech
 

Re: login et password

Messagepar Triflip 22 Fév 2011, 16:34

Voila un script que j'ai fait qui réalise ce que tu demande:
//Formulaire

<form action="index.php" method='post' >
<table class="log">
<tr>
<td>Login :</td>
<td><input type="text" style="width:100px" title="Nom Utilisateur" name="login" maxlength="250"></td>
</tr>
<tr>
<td>Password :</td>
<td><input type="password" style="width:100px" title="Mot de passe" name="pass" maxlength="10"></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" style="background-color:#2BFB4E" value="Connexion"></td>
</tr>
</table>
<?php
if(isset($_POST['login']) and isset($_POST['pass'])) /* teste si les champs on été bien remplits*/
{

$login = $_POST['login'];
$pwd = $_POST['pass'];

/*COUNT à pour rôle de compter par le biais de NB si il n'y a pas plusieur login identique.
le reste de la requête sert à lier login qui est récupéré du formulaire de saisie et affecté à une variable, idem pour pwd*/

$sql = "select COUNT(*) as NB from Nom_de_ta_table where login='".$login."' and pwd = '".$pwd."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);



if($data['NB'] == 1) //Si NB est égale à 1 (donc il n'y a pas de doublon) et l'utilisateur est connu de la bdd. DATA récupère uniquement le NB du au COUNT (*)
{
session_start();// on initialise la session sql
$_SESSION['login'] = $login;
echo header("location:ta_page.php");
}
}
else
{
echo "<tr><td><div class='erreur'> Mot de passe/Utilisateur incorrect !</td></tr></div>";
}
}
voila :D
Triflip
 

Re: login et password

Messagepar Sabrina tech 22 Fév 2011, 16:56

Merci Triflip :)
J'ai essayé ce code et j'ai changer les variables mais malheureusement :( le résultat est tjrs le 2ème c à dire qu'il passe à la page location dans tous cas (même si les données saisie sont invalides et inexistante dans ma base ) #-o
Que ce que je dois faire ???? #-o
Sabrina tech
 

Re: login et password

Messagepar moogli 22 Fév 2011, 17:01

quel est ton dernier code ? (avant celui de triflip qui contient des erreurs :/)

si tu nous fournis le code que tu test à chaque fois on peu t'aider plus facilement ;)

à tu compris le tuto ? (l'a tu essayé ?)

est ce que tu a mis les mots de passe en clair dans la table ou hashé ? (md5 / sha1)

@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7534
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Re: login et password

Messagepar Invité 22 Fév 2011, 17:10

Pour le tuto wi, je suis entrai de le suivre,
et pour mon code le voila :


Syntaxe: [ Télécharger ] [ Masquer ]
Code php
          <table width="723" height="46" border="0" align="center">
    <tr>
      <td width="713">
       
                <form id="form1" method="post">
               
                  <table width="699" border="0" align="center">
                 
          <tr>
                   
             <td width="65"><span class="Style3">Pseudo</span></td>
             <td width="175"><input type="text" name="textfieldd" /></td>
                         <td width="109"><span class="Style2">Mot de passe</span> </td>
             <td width="147"><input type="password" name="textfieldd2" /></td>
                         <td width="64">
              <div align="right">
                <input type="submit" name="Submit" value="Se connecter"   />
                </div></td>
          </tr>
        </table>
     
       
      </form></td>

    </tr>
</table>




<?php

include "connexion.php";  // connexion à la base de donnée

 if (isset($_POST['Submit']))
{

$P=$_POST['textfieldd'];
$M=$_POST['textfieldd2'];


$requet="SELECT * FROM Pret";
$resultt = mysql_query($requet) or exit(mysql_error().'Echec');
 
  while( $data = mysql_fetch_assoc($resultt))
  {
 
if($P == $data['Pseudo'] && $M == $data['Pass'])
{
echo"accept";                // ici ca marche mais il ne passe pas à aucune page et si j'ajoute : "action="index.php" au dessus au niveau du formulaire ca marche tjrs càd il ne m'affiche aucun résultat et tjrs il passe à la page index.php
}
else
{
?>
                 <script language="javascript">
               alert('Pseudo ou mot de passe incorrect');              // et ici aussi ca marche
             </script>  
<?php
}

}
}
?>                     

 
Invité
 

Re: login et password

Messagepar moogli 22 Fév 2011, 17:16

alors déja il faut faire la vérif du formulaire avant l'affichage html, car en cas de succès tu utilise la fonction header pour rediriger vers une autre page. et si c'est pas bon tu peut près remplir le formulaire (au niveau pseudo ;)).

ensuite essai d'appliquer la méthode du tuto a ton script, notamment au niveau de la requete SQL ;)
quand c'est fait si tu but encore fait le savoir :) (nouveau code a l'appui).

@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7534
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Re: login et password

Messagepar Sabrina tech 22 Fév 2011, 17:29

Pour la première remarque que tu m'as fais j'ai pas bien compris, tu sais que je suis encre débutante #-o et je sais pas bien comment ca marche les fonction PHP (header), donc merci de m'explique de plus ou me donner la syntaxe de cette fonction.

Et pour la deuxième remarque t'as raison et c ce que je pense faire car le code du TUTO est plus intéressant et je suis déjà entrain de le faire en // mais j'ai qqs erreurs dont j'essaye de les corriger.

Merci et @ +
Sabrina tech
 

Re: login et password

Messagepar xTG 22 Fév 2011, 17:45

Sabrina tech a écrit:Pour la première remarque que tu m'as fais j'ai pas bien compris, tu sais que je suis encre débutante #-o et je sais pas bien comment ca marche les fonction PHP (header), donc merci de m'explique de plus ou me donner la syntaxe de cette fonction.

Le lien fourni par Moogli te redirige vers la documentation qui est pas mal fournie en exemples et explications. ;)
xTG
ViPHP
ViPHP
 
Messages: 7035
Inscription: 03 Aoû 2010, 19:12

Re: login et password

Messagepar moogli 22 Fév 2011, 19:12

au pire fait le reste du code et met un message en attendant, le header vient à la fin c'est pas le plus important.

Sache juste que cette fonction permet d'envoyer des "entetes http" ça peut être pour indiquer le contenu au navigateur (une de tiens c'est du texte, tiens c'est pdf / html une image) mais ça peut aussi envoyer des truc plus "compliqué" comme une erreur 404 ou un redirection de page.

j’attends tes questions sur le début du code on verra pour le header à la fin ;)

@+
Il en faut peu pour être heureux ......
moogli
Modérateur PHPfrance
Modérateur PHPfrance
 
Messages: 7534
Inscription: 06 Juil 2006, 17:23
Localisation: gwened bzh

Re: login et password

Messagepar Triflip 23 Fév 2011, 09:49

Sabrina tech a écrit:Merci Triflip :)
J'ai essayé ce code et j'ai changer les variables mais malheureusement :( le résultat est tjrs le 2ème c à dire qu'il passe à la page location dans tous cas (même si les données saisie sont invalides et inexistante dans ma base ) #-o
Que ce que je dois faire ???? #-o


Je viens de tester le script que je t'ai transmis, il marche très bien.
Bizarre... #-o
Triflip
 

Re: login et password

Messagepar Sabrina tech 23 Fév 2011, 10:20

Bjr Triflip,

Voici ton code que tu m'as donné, et qui ne m'affiche pas le message d'erreur mais il passe tjrs à la page location, Veuillez vérifier avec moi:
Merci

Syntaxe: [ Télécharger ] [ Masquer ]
Code php
<body>
<div>
<form action="index1.php" method='post' >
<table class="log">
<tr>
<td>Login :</td>
<td><input type="text" style="width:100px" title="Nom Utilisateur" name="login" maxlength="250"></td>
</tr>
<tr>
<td>Password :</td>
<td><input type="password" style="width:100px" title="Mot de passe" name="pass" maxlength="10"></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" style="background-color:#2BFB4E" value="Connexion"></td>
</tr>
</table>

 <?php
if(isset($_POST['login']) and isset($_POST['pass'])) /* teste si les champs on été bien remplits*/
{

$login = $_POST['login'];
$pwd = $_POST['pass'];

/*COUNT à pour rôle de compter par le biais de NB si il n'y a pas plusieur login identique.
le reste de la requête sert à lier login qui est récupéré du formulaire de saisie et affecté à une variable, idem pour pwd*/


$sql = "select COUNT(*) as NB from Pret where Pseudo='".$login."' and Pass = '".$pwd."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);



if($data['NB'] == 1) //Si NB est égale à 1 (donc il n'y a pas de doublon) et l'utilisateur est connu de la bdd. DATA récupère uniquement le NB du au COUNT (*)
{
session_start();// on initialise la session sql
$_SESSION['Pseudo'] = $login;
echo header("location:index1.php");
}

else
{
echo "<tr><td><div class='erreur'> Mot de passe/Utilisateur incorrect !</td></tr></div>";
}
}

?>


</form>


</div>
</body>
 
Sabrina tech
 

Suivante

Retourner vers PHP débutant

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 12 invités