Bonjour,
tu lis les réponses qu'on te donne, ou pas ?
Bonjour,
tu lis les réponses qu'on te donne, ou pas ?
Christophe, tu ferais comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 else // Sinon, on affiche un message d'erreur { $result->close(); $message = "prenom incorrect ."; header( 'Location: http://localhost/html/facture.php?message=' . $message); }
@solerian, oui mais en supprimant l'espace entre "incorrect" et ".".
Christophe
Pensez à mettre quand c'est le cas.
Cela ne m'affiche toujours pas de message d'erreur et une personne qui ne se trouve pas dans la table peut toujours accéder à la page suivante
Pas étonnant...
Avez-vous appliqué ce que dit jreaux62 sur mysqli_num_rows ?
--
Edit : devancé par jreaux62.
Christophe
Pensez à mettre quand c'est le cas.
Je ne comprend pas du tout l'interet du
Pouvez vous me l'expliquer s'il vus plaît ainsi que son interet?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $row_cnt=mysqli_num_rows($result); printf("le jeu de resultat a %d lignes.\n", $rows_cnt)
Merci pour votre aide
Stop, stop, et stop les réponses sans aucune recherche ni lecture des commentaires postés plus haut !
C'est quand même incroyable...
http://lmgtfy.com/?q=mysqli_num_rows
Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !
Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voitureQue la force soit avec Developpez.net
J'ai imprimé la doc que m'a filer jreaux, mais j'ai du mal saisir c'est tout
Alors c'est soit un problème de compréhension du français, soit de tes bases et alors il faut remonter plus haut dans tes lacunes.
Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !
Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voitureQue la force soit avec Developpez.net
Bonjour,
l'intérêt est de compter le nombre de résultats renvoyés par la requête !
C'est exactement ce que tu veux faire :
- si le nombre de résultats est égal à 1 -> OK, on a bien un enregistrement (nom-prénom) qui correspond.
- sinon, pas bon.
EXEMPLE de formulaire d'Authentification :
authentification-form.php :
Code php : 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 <?php // retour : message d'erreur ? if( !empty($_GET['msqErr']) ) { $msqErr = $_GET['msqErr']; if( $msqErr == 'NoUser') { echo '<p class="msgErr">Aucun user trouvé</p>'; } elseif( $msqErr == 'FillAll') echo '<p class="msgErr">Merci de remplir nom et prenom</p>'; } } ?> <form action="authentification-traiter.php" method="post"> <fieldset> <legend>Authentification</legend> <p> <label for="nom"> nom : </label> <input type="text" name="Nom"/> </p> <p> <label for="prénom"> prénom : </label> <input type="text" name="Prénom"/> </p> <div class="button"> <button type="submit"> Valider </button> </div> </fieldset> </form>
fichier connexion.php (script de connexion à la base de donnees) : => à INCLURE (une fois, en début de script)
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?php require_once 'login1.php'; // il y a quoi là dedans ? les parametres de connexion ? $conn = new mysqli($hn, $un, $pw, $db); if ($conn->connect_error) die($conn->connect_error); $conn->set_charset ('utf8'); // encodage en utf-8
EXEMPLE de fichier authentification-traiter.php (traitement du formulaire d'authentification) :
Code php : 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
56
57
58
59
60 <?php session_start(); require_once 'connexion.php'; // script de connexion à la base de donnees if( isset($_POST) && empty($SESSION['id_user']) ) { // Récupération des données du formulaire d'authentification $nom_recu = ( !empty($_POST['nom']) )? $_POST['nom'] : ''; $prenom_recu = ( !empty($_POST['prenom']) )? $_POST['prenom'] : ''; if( !empty($nom_recu) && !empty($prenom_recu)) { // requete : existe-t-il un enregistrement avec ce nom et ce prenom ? $sql = "SELECT id FROM users WHERE nom = ? AND prenom = ? "; // requête préparée $stmt = $mysqli->prepare( $sql ); // Lecture des marqueurs $stmt->bind_param('ss', $nom_recu, $prenom_recu); // Exécution de la requête $result = $stmt->execute() or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // Détermine le nombre de lignes du jeu de résultats $row_cnt = $result->num_rows; if( $row_cnt == 1 ) // OK, on en a bien trouvé un ! { $row = $result->fetch(); $SESSION['id_user'] = $row['id']; // USER CONNECTE ! } else { // erreur : PAS de user avec ces nom et prenom ! $SESSION['id_user'] = ''; header('location:authentification-form.php?msqErr=NoUser'); // retour au formulaire d'authentification exit; } } else { // erreur : nom ou prenom manquant $SESSION['id_user'] = ''; header('location:authentification-form.php?msqErr=FillAll'); // retour au formulaire d'authentification exit; } } else { // rien reçu $SESSION['id_user'] = ''; header('location:authentification-form.php'); // retour au formulaire d'authentification exit; } // --------------- // USER CONNECTE ? if( !empty($SESSION['id_user']) && is_numeric($SESSION['id_user']) ) { header('location:espace-membre.php'); // ACCES AUTORISE à l'Espace Membre exit; } else { $SESSION['id_user'] = ''; header('location:authentification-form.php'); // retour au formulaire d'authentification exit; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager