begin process at 2012 05 31 14:47:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

requete mysql pour authentification


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

requete mysql pour authentification

jeudi 9 août 2007 à 15:49:19 | requete mysql pour authentification

agparchitecture

Bonjour à tous de nous aider nous débutant. Vous faites un travail terrible. Moi j'apprend php en auto didacte et me demandais si cette portion de code pour une zone sécurisée par session était juste au niveau mysql (injection possible ou pas?).

<?php
if ((empty ($_POST['nom'])) && (empty ($_POST['pwd'])))//Verification que les variables $_POST sont définies ou existante
    { header ('location: ../../erreurcommande.php?erreur=post'); }
else
    {
    // création des variables
    include ('../config/options.config.php');
    $nom = $_POST['nom'];
    $pwd = $_POST['pwd'];

    // connection et recherche du password
    include ('connexion.cmd.php');
    $table = 'users';
    $requete = "SELECT pwd FROM $table WHERE nom=\"$nom\" AND typeuser=\"administrateur\"";

    $resultat = mysql_query($requete);
    $pass = mysql_fetch_array ($resultat);

    //fermeture et purge memoire requete
    mysql_free_result ($resultat); 
    mysql_close ();

    //Verification et redirection
    if ($pass['pwd'] == $pwd)
        { echo 'admin authentifié';}
    else
        { echo 'n\'est pas administrateur';}

    }
?>
ou

est-ce qu'il vaut mieux un

    $requete = "SELECT * FROM $table *";
    et faire un tri du tableau en comparant tout
   
Merci de vos conseil avisés.
jeudi 9 août 2007 à 16:41:52 | Re : requete mysql pour authentification

Evangun

Hello,

si tes variables sont bien échappées par les magicquotes oui, sinon il faut faire addslashes( ) avant.

Pourquoi le mot de passe n'est-il pas dans la table aussi ?

est-ce qu'il vaut mieux un

    $requete = "SELECT * FROM $table *";
    et faire un tri du tableau en comparant tout

>> vaut mieux appeler chaque colonne oui.

à+
jeudi 9 août 2007 à 16:55:54 | Re : requete mysql pour authentification

agparchitecture

si le mot de pass est contenu dans la base.

En fait la structure de ma base est

   id autoincrément
   mot de pass
   nom d'utilisateur
   catégorie (admin client entrepreneur)
   identifiant

Je selectionne la personne par la requete (si elle existe) et puis je verifie le mot de passe qu'elle a postée avec celui contenus dans la base de donnée.

En fait le problème est que j'hesite entre deux scripts. le premier ci dessus et celui ci dessous (qui me semble lourd puisqu'il parcour toute la bdd et verifie chaque ligne donc quand elle est petite sa va mais en grossisant??).

    <?php

      // création des variables

      $nom = $_POST["nom"];
      $pwd = $_POST["pwd"];
      $idUser = 0;
      $admin = 0;

      // connection et recherche des données
      include("connexion.php");
      $table = "USERS";
      $requete = "SELECT * FROM $table";
      $resultat = mysql_query($requete);

      $nlignes = mysql_num_rows($resultat);

      for ($i=0 ; $i < $nlignes ; $i++)
      {
       $ligne = mysql_fetch_array($resultat);
       if ($ligne[1] == $nom AND $ligne[2] == $pwd AND $ligne[3] == "administrateur")
       {
        // obtention des valeurs
        $admin = 1;
        $idUser = $ligne[0];
        $i = $nlignes;
       }
      }

      if ($admin == 1)
      { echo 'admin trouvé';}
      else
      { echo 'admin non trouvé'; }

    ?>

jeudi 9 août 2007 à 17:31:07 | Re : requete mysql pour authentification

Evangun

Réponse acceptée !
OK j'avais mal lu.

Tu fais : $requete = "SELECT nom FROM $table WHERE nom=\"$nom\" AND typeuser=\"administrateur\" AND pwd = \"$pwd\"";

et ensuite if(mysql_num_rows($resultat) == 1){ admin trouvé }

plus simple et rapide :)
lundi 13 août 2007 à 08:50:56 | Re : requete mysql pour authentification

agparchitecture

Désolé du retard pour la réponse mais suis partis en week-end. 

D'accord mais encore une question. Pourquoi selectionner le nom et pas autre chose (comme le pass ou le type d'utilisateur)?
lundi 13 août 2007 à 12:12:52 | Re : requete mysql pour authentification

Evangun

Réponse acceptée !
Il n'y a pas vraiment de raison dans ce cas précis, il faut juste sélectionner quelque chose. En général, tu fais un select sur l'ID du membre pour le stocker en session  parce qu'un ID ça sert toujours. Mais si tu as aussi besoin du type d'utilisateur, vas-y aussi :)
lundi 13 août 2007 à 13:00:25 | Re : requete mysql pour authentification

agparchitecture

Réponse acceptée !
Merci pour les info. J'adapte mon script ce soir.


Cette discussion est classée dans : php, mysql, requete, post, pwd


Répondre à ce message

Sujets en rapport avec ce message

problème avec MYSQL/php [ par spiesalex ] salut,bon j'ai ce code ci:if(isset($_POST['login']) probleme PHP_MYSQL [ par safaesisi ] slt , aidez moi svp , problème php_mysql mon projet c'est de réaliser une messagerie interne dans un site web j'ai créer une bouton supprimer pour PHP MySQL requete d'affichage [ par babygamer ] Bonjours a tous et a toutes !! voici mon problème: Je voudrai récupérer une valeur saisi dans un formulaire afin de la tester si elle est égale a la c Demande Php [ par petitmozart ] Bonjour à tous, je suis un jeune debutant en Php/Mysql; en faite je suis entrain d'écrire un programme de gestion d'interface d'une base de données, probleme de session_start [ par metal_death ] Bonjour  j'ai créer un espace membre grace a phpfacile mais j'ai un petit probleme lors de la connection je recois ce message : Warning: session_star Requete php/mysql [ par flopad ] Bonjour tout le monde!!J'ai une base de données contenant l'annuaire interne de ma boite, avec des colonnes nom, tel fixe, tel portable, etc...Comment Newsletter PHP/MySQL et Flash [ par teatime972 ] Salut à tous et merci à tout ceux qui voudront aidé un débutant en php / flash. J'ai fais le même post sur FLASHKOD mais à mon avis c'est au niveau du Curl : problème [ par jeje11991 ] Bonjour,suite à ce message : http://www.phpcs.com/infomsg_CURL-ENVOIE-REQUETE-POST_801800.aspx#4j'ai compris comment ca focntionne mais j'ai un autre nbr de ligne d'une requete [ par eryk17 ] je voudrai recuperer le resultat d'une requete pour le foutre dans un bouton radio, pour cela il me faut connaitre le nombre de ligne de cette requete Session php [ par chmanu ] Bonjour, voici mon pb : j'execute une requete SQL dont j'affiche les resultats dans "page1.php". A coté de chaque resultat, je met un lien qui renvoi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales