Ma connection admin ne fonctionne pas tres bien.

Résolu
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010 - 17 janv. 2007 à 09:47
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 - 18 janv. 2007 à 19:53
 

Miss1
J'ai crée une base de donnée ds laquel j'ai entré un mot de passe et un login admin. l'inconvénient c'est kil me connecte a ma base de donnée mais je doit rentré une info exacte sur les deux pour kil puisse me connecter. Il ne m'en interdit pas l'acés si l'une des infos est mauvaise. Je n'arrive pas a remédier a se pb. Quelequ'un pourrait-il m'aider. Merci.
Je laisse mon code

Et celle si ma page connection
<form name="form" method="GET" action="admin.php">
         
                 
              
           
        </form
Cette page est la page admin

<?php
//include est un fichier dans lequel je fait appele à la base de donnée
include "config.php";




//connexion au serveur
$connexion=mysql_connect($serveur,$login,$mdp);





// verifie si connection possible
if (!$connexion) {
echo( "Impossible de se connecter au serveur en ce moment.

" );
exit();
}
// connection à la base de donnée
mysql_select_db("$base", $connexion);





if (array_key_exists('Login_Admin', $_POST))
{
      
        $login = $_POST['Login_Admin'];
        $password = $_POST['Password'];





}
elseif (array_key_exists('Login_Admin', $_GET))
{
        // Get variable
        $login =  $_GET['Login_Admin'];
        $password = $_GET['Password_Admin'];
}





// test si un seul des deux est bon alors il recommence
if($password=='' or $login=='')
    {
    echo 'Vous avez oublié de remplir un champs.

';
    include('connectionadmin.php');
    exit;
    }





?>

11 réponses

raven44 Messages postés 315 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 21 mars 2011 1
17 janv. 2007 à 15:30
Ceci devrait fonctionner.

<?php
  
  //Connexion au serveur
   $link = mysql_connect ('localhost','root');
  //Connexion à la BD
   mysql_select_db ('tabase');
print "
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'
 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
 <html xmlns='http://www.w3.org/1999/xhtml'>
 <head>
  <meta http-equiv='Content-type' content='text/html; charset=iso-8859-1' />
 </head>
 
 ";
  
  $form_rec = "";
  if (isset($_GET['form_rec'])) $form_rec = $_GET['form_rec'];




if ($form_rec=="yes")
{
  $query="Select * from tatable";
  $result=mysql_query($query);
  while (list($nom, $mdp) = mysql_fetch_row($result))
  {   if ($nom $_GET['nomsaisie'] and $mdp $_GET['mdpsaisie'])
   {
    print "
    <script>
         open('tapage.php','_self')
    </script>
     ";   
   }
  }
}
else
{


  print "
   <form method='GET' action='index.php' name='form_creation'>
   
   
   

      ----
Login : ,
   Mot de passe : ,
   ,
   

   

   </form>
   
   ";
}


print "
 
 </html>
 ";


//Fermeture de la base de données
mysql_close($link) ;


 ?>
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
17 janv. 2007 à 20:02
$query = 'SELECT mdp FROM tatable WHERE nom ='.$_GET['nom'];
$result=mysql_query($query);
$arr = mysql_fetch_array($result);
if ($arr['mdp'] == $_GET['mdp'])

Meme question:

>> Quel interet de selectionner toute la table si c'est pour faire un choix apres ?
$q 'SELECT COUNT(*) FROM tatable WHERE nom "'.$_POST['nom'].'" AND password = "'.$POST['password'].'" ';
$r = mysql_query($q);
$row = mysql_fetch_row($r);
 if ( (int) $row[0] === 1 ) {
      // Ok
 } else {
     // Pas Ok
 }

C'est si compliqué ?
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
17 janv. 2007 à 09:55
Déja, on fait passer un formulaire comme celui la en POST.

Et ton code est incomplet la...

if (array_key_exists('Login_Admin', $_POST))

Huhu, j'avais jamais vu ca :p
>
 if ( isset($_POST['Login_Admin']) ) ....

// test si un seul des deux est bon alors il recommence
if($password=='' or $login=='')

Beurk, methode à l'ancienne ca ...
>
 if ( empty($password) || empty($login) ) { // }

Mais y'a aucun test à ta base de donnée la je me trompe ?
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
17 janv. 2007 à 11:56
 

Miss1
Oui c vrai que la méthode est ancienne mais c'est la version que j'ai apprise a l'ecole . Je vien de remarquer que je ne fé appel qua la base de donnée sans la tester. La g changer en post mon get ds le formuaire. Mais ou alors si je doit fer un teste sur ma base de donné ou dois-je le mettre? car maintenant en ayant aremplacer get par post il ne veut plus me connecter.
Parce que la je suis complétement larguer.
0

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

Posez votre question
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
17 janv. 2007 à 12:01
 

Miss1
J'avais oublié de dire que je remarque qu'il reconnait le login exact  (ex admin mais mon mdp est admin si je mé administrateur) mais si je mé un autre mot de passe il va me laisser entrer et mm chose ds lotre sens. dc voudré empecher que cela ne se produise.
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
17 janv. 2007 à 12:41
if (array_key_exists('Login_Admin', $_POST))
{
      
        $login = $_POST['Login_Admin'];
        $password = $_POST['Password'];




}

Il y a pas un problème avec le 'Password' qui n'existe pas dans ton formulaire ?




<hr size="2" width="100%" />
Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
17 janv. 2007 à 13:10
si g un pb avec le password mais je é appele a lui ds le formualire
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
17 janv. 2007 à 14:47
Déja, on veut bien t'aider mais il vaut mieux faire un effort sur le français quand même. C'est pas parce qu'on est sur un forum où on parle de $php['comme_des_geeks'] qu'il faut écrire n'importe comment :)

Voici le modèle pour une identification via formulaire (que ce soit admin ou membre simple) :

 -> écriture des identifiants dans le champ "login" et "password"
 -> soumission du formulaire
 -> traitement du formulaire :
         -> vérification de la soumission du formulaire (champs existes etc...)
         -> vérification des champs (non vides, caractères spéciaux etc...)
         -> traitement avec la base de donnée
                     -> connection
                     -> vérification du login/password du formulaire avec celui de la base de donnée
                     -> Si il existe un enregistrement avec le bon couple login/password, alors on en déduis que celui qui veut se logger est bien la personne qu'on souhaite. On lui donne les droits nécessaires
                    -> on redirige la personne au bon endroit.

-> si mauvais traitement, on relance la procédure du formulaire.

Voila comment ca se passe.
 Jpeux pas mieux faire :)
0
cs_Miss1 Messages postés 221 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 22 décembre 2010
17 janv. 2007 à 18:52
 

Miss1
merci
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
17 janv. 2007 à 19:32
  $query="Select * from tatable";
  $result=mysql_query($query);
  while (list($nom, $mdp) = mysql_fetch_row($result))
  {   if ($nom $_GET['nomsaisie'] and $mdp $_GET['mdpsaisie'])
   {



>> Quel interet de selectionner toute la table si c'est pour faire un choix apres ?
$query 'SELECT mdp FROM tatable WHERE nom'.$_GET['nom'];
$result=mysql_query($query);
$arr = mysql_fetch_array($result);
if ($arr['mdp'] == $_GET['mdp'])
    ...

Flachy Joe
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 1
18 janv. 2007 à 19:53
uhuhuh, t'as raison ;-) Je sais pas si on peut faire encore plus simple.

Flachy Joe
0
Rejoignez-nous