Bonsoir,
Voilà ce que j'aimerais faire :
Un formulaire de connexion mais assez différents des autres :
- Connexion via 2 tables (fournisseur et client) cela peut-il se faire où il faut faire 2 bloc de connexion distinct sachant que le nom des champs sont les mêmes ?
- Si ses identifiants de connexion (email et mdp) sont correcte alors une question secrète s'affiche (la question qu'il a choisis lors de l'inscription) avec la réponse secrète (qu'il a choisis lors de l'inscription).
- Si la valeur de sa réponse = à la réponse qu'il a indiqué lors de son inscription alors SESSION créer et redirection vers une page en fonction de son rang (Client : client.php ou fournisseur : fournisseur.php).
Table Client :
id, email, password, question, rep, rang
Table fournisseur :
id, email, password, question, rep, rang.
Vous allez me dire mais pourquoi avoir créer deux table, pour les distinguer mais aussi le fait que leurs champs sont différents.
En prenant cette exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 <? // LE CHANTIER $message=''; if (empty($_POST['email']) || empty($_POST['password']) ) // Oublie d'un champ { $message = '<p>une erreur s\'est produite pendant votre identification. Vous devez remplir tous les champs</p> <p>Cliquez <a href="./connexion.php">ici</a> pour revenir</p>'; } else //// on vérifie si le membre a bien son compte activé (si son rang vaut 1 ou est supérieur à 1) on check le mot de passe { $reponse = mysql_query("SELECT id, email, password, rang FROM clients and fournisseur WHERE email = $_POST['email'] AND rang => 1") or die(mysql_error()); while($data = mysql_fetch_array($reponse)) if ($data['password'] == md5($_POST['password'])) // Acces OK ! { // Affichage de la question $message = 'Connexion reussie, mais avant de pouvoir accéder à notre espace, merci de répondre à votre question : '.$data['question'].' <br><form action="connexion.php" method="post"> <br>Réponse : <input type="text" name="rep"/> <INPUT type="submit" value="Envoyer"></form>'; else // Acces pas OK ! { $message = '<p>Une erreur s\'est produite pendant votre identification.<br /> Le mot de passe ou lemail entré n\'est pas correcte.</p><p>Cliquez <a href="./connexion.php">ici</a> pour revenir à la page précédente <br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; } if ($_POST['rep']) == $data['rep'])) // si la reponse donner correspond à celle qu'il a choisit lors de l'inscription alors on creer les sessions { $message = '<p>Bienvenue '.$data['email'].', vous êtes maintenant connecté!</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; // Puis redirection en fonction du statut (comment ?) } else // erreur reponse ! { $message = '<p>La réponse que vous avez donné n'est pas correcte.</p>'; } } echo $message.'</div></body></html>'; ?>
Mon code est mal ingenter mais du coup avec tout ses if et ses else je sais pas comment procéder !
merci
On m'a parler des jointures,
Je dois faire une requête de ce type ?
SELECT email, password, id, rang, rep, question FROM Client, Fournisseur
WHERE Client.email=Fournisseur.email, Client.password=Fournisseur.password, Client.id=Fournisseur.id, Client.rang=Fournisseur.rang, Client.rep=Fournisseur.rep, Client.question=Fournisseur.question
merci







Répondre avec citation
Partager