Téléchargement
illégal
Posez votre question Signaler

[PHP & MYSQL] vérification login sur 2 tables

ChriSs - Dernière réponse le 23 mars 2010 à 14:27
Bonjour,
Je suis entrain de faire un site pour le dépannage informatique (partie client et technicien)
Pour cela j'ai créé deux tables: tblclient et tbltechnicien (avec les info personnelles)
Lors de la connexion au site, j'aimerai que mon site soie capable de vérifier le login et de savoir si c'est un technicien ou un client.
Une fois la vérif faite, il redirige suivant si c'est un technicien sur la page réservée aux technicien ou à la page pour les clients si c'est un client.
J'ai déjà réussi l'insertion d'un client ou d'un technicien dans les tables.
Merci d'avance
Lire la suite 

[PHP & MYSQL] vérification login sur 2 tables »

9 réponses
Réponse
+0
moins plus
Perso j'aurais fait avec une seule table et un champ "technicien" du type booléan.
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Comme avion-f16, j'aurais fait en une seule table avec un champ "type" qui prend "technicien" ou "client".
Après, tu peux t'en sortir avec 2 tables en faisant 2 requêtes SQL (une par table) :

$login = $_POST['login'];
$pass = $_POST['pass'];
$type = null;
$result = mysql_query("SELECT * FROM tblclient WHERE login = '$login' AND pass = '$pass'");
if(mysql_num_rows($result) > 0) $type = "client";
$result = mysql_query("SELECT * FROM tbltechnicien WHERE login = '$login' AND pass = '$pass'");
if(mysql_num_rows($result) > 0) $type = "technicien";


Au final, si $type == null, l'utilisateur n'est présent sur aucune table, si $type == "technicien", c'est un technicien, et si $type == "client"... Tu m'as compris ^^

N'oublie pas la sécurité contre l'injection :
$login = mysql_real_escape_string($_POST['login']);
$pass = mysql_real_escape_string($_POST['pass']);
avion-f16- 18 mars 2010 à 21:34
$result = mysql_query("SELECT * from tbltechnicien where email_technicien='".$_POST['fEmail']."' AND password_technicien='".$_POST['fPassword']."'") or die(mysql_error());
sp00m' - 22 mars 2010 à 14:03
Voilà ton code corrigé (en théorie). Tiens nous au courant.

<?php

//Connexion à la base de donnée
include ("../bd/connex_bd.php");

$type = null;
$result = mysql_query("SELECT * from tbltechnicien WHERE email_technicien = '" . $_POST['fEmail'] . "' AND password_technicien = '" . $_POST['fPassword'] . "'");
if(mysql_num_rows($result) > 0) $type = "technicien";
$result = mysql_query("SELECT * from tblclient where email_client = '" . $_POST['fEmail'] . "' AND password_client = '" . $_POST['fPassword'] . "'");
if(mysql_num_rows($result) > 0) $type = "client";

echo $type;
ChriSs - 23 mars 2010 à 14:27
Hello,

Désolé de l'absence, j'ai finalement réussi!

Voici mon code:
<?php
session_start();
//Connexion à la base de donnée
include ("../bd/connex_bd.php");
$type = null;
$result = "SELECT * from tbltechnicien where email_technicien='".$_POST['fEmail']."' AND password_technicien='".$_POST['fPassword']."';";
$tab_resultats = connexion($result);
if(mysql_num_rows($tab_resultats) == 1)
{
$type = "technicien";
echo "<table border=1 align=center>";
while ($Ligne = mysql_fetch_array($tab_resultats))
{
$_SESSION['IDtechnicien'] = $Ligne['IDtechnicien'];
$_SESSION['Nom_technicien'] = $Ligne['Nom_technicien'];
$_SESSION['Prenom_technicien'] = $Ligne['Prenom_technicien'];
}
echo "</table>";
echo "Login technicien ok!";
header("location:../administration/admin_Call.php");
}

$result = "SELECT * from tblclient where email_client='".$_POST['fEmail']."' AND password_client='".$_POST['fPassword']."';";
$tab_resultats = connexion($result);
if(mysql_num_rows($tab_resultats) == 1)
{
$type = "client";
echo "<table border=1 align=center>";
while ($Ligne = mysql_fetch_array($tab_resultats))
{
$_SESSION['IDclient'] = $Ligne['IDclient'];
$_SESSION['Nom_client'] = $Ligne['Nom_client'];
$_SESSION['Prenom_client'] = $Ligne['Prenom_client'];
}
echo "</table>";
echo "Login client ok!";
header("location:../client/client_Call.php");
}
if ($type == null)
{
header ("location:index.php?Error=1");
}
?>
Ajouter un commentaire
Ce document intitulé « [PHP & MYSQL] vérification login sur 2 tables » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?