diff --git a/BDD.sql b/BDD.sql index 17151c2..2ffabff 100644 --- a/BDD.sql +++ b/BDD.sql @@ -1,5 +1,5 @@ CREATE TABLE Utilisateurs ( - loginLille1 char(30), + -- loginLille1 char(30), idCarte char(8), login char(30) PRIMARY KEY, mdp char(255), @@ -13,7 +13,7 @@ CREATE TABLE Sessions ( ); CREATE TABLE Clients ( - loginLille1 char(30) PRIMARY KEY, + -- loginLille1 char(30) PRIMARY KEY, solde float(7,2), idCarte char(8), credit boolean diff --git a/api/utilisateur/ajouter.php b/api/utilisateur/ajouter.php index 1b37bfd..6c92a3e 100644 --- a/api/utilisateur/ajouter.php +++ b/api/utilisateur/ajouter.php @@ -20,7 +20,14 @@ if (!$requete->execute()) { } $requete->close(); -// TODO loginLille1 && idCarte +if (donne("idCarte")) { + $requete = $db->prepare("UPDATE Utilisateurs SET idCarte=? WHERE login=?"); + $requete->bind_param("ss", $_POST["idCarte"], $_POST["login"]); + if (!$requete->execute()) { + retour("erreur_bdd", ["message" => $requete->error]); + } + $requete->close(); +} retour("ok"); diff --git a/api/utilisateur/carte.php b/api/utilisateur/carte.php new file mode 100644 index 0000000..52ad2d7 --- /dev/null +++ b/api/utilisateur/carte.php @@ -0,0 +1,30 @@ +prepare("UPDATE Utilisateurs SET idCarte=? WHERE login=?"); +$requete->bind_param("ss", $_POST["idCarte"], $_POST["login"]); +if (!$requete->execute()) { + retour("erreur_bdd", ["message" => $requete->error]); +} +$requete->close(); + +retour("ok"); + +?> diff --git a/api/utilisateur/connexion.php b/api/utilisateur/connexion.php index aad1ae0..af7b0fa 100644 --- a/api/utilisateur/connexion.php +++ b/api/utilisateur/connexion.php @@ -31,10 +31,20 @@ if (donne("login") && donne("mdp")) { retour("identifiants_invalides"); // Identifiant inconnu } $requete->close(); + } else if (donne("idCarte")) { - // Si l'utilisateur s'authentifie par carte - // $login = ... - retour("non_implemente"); // TODO + $requete = $db->prepare("SELECT login FROM Utilisateurs WHERE idCarte = ?"); + $idCarte = donne("idCarte"); + $requete->bind_param("s", $idCarte); + if (!$requete->execute()) { + retour("erreur_bdd", ["message" => $requete->error]); + } + $requete->bind_result($login); + if (!$requete->fetch()) { + retour("carte_inconnue"); + } + $requete->close(); + } else { retour("requete_malformee"); } -- libgit2 0.21.2