Il lui manque un paramètre, donc elle fonctionne pas.
Utilise Firebug, tu auras de meilleures erreurs.
Il lui manque un paramètre, donc elle fonctionne pas.
Utilise Firebug, tu auras de meilleures erreurs.
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
Etant donné que je n'ai que des warnings j'arrive à accéder à la prochaine page web
D'accord, et bien bonne continuation.
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
Mais il faut que je retire ces messages tout de mêmes car ils s'affichent sur ma page web
C'est tout de même mieux que les erreurs qui s'affichent sur ta page web, dans ce sens là, elles sont meilleures
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
d'accord d'où l'intérêt d'utilisé firebug pour retirer les erreurs restantes, sauf si je trouve les bon parametres à rajouter n'est ce pas ?
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\wamp\www\html\facture.php on line 35
- Voir : mysqli_query()
mysql_fetch_array() : NON !Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\wamp\www\html\facture.php on line 37
mysqli_fetch_array()
- Voir : mysqli_fetch_array()
Il faut TOUJOURS aller consulter la doc (Manuel PHP) :
Maintenant je n'ai plus qu'un seul message d'erreur toujours celui ci :
Warning: mysqli_query() expects at least 2 parameters, 1 given
voici le code :
Le message d'ereur se trouve au niveau des lignes écrites en rouge
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <?php if(isset($_POST['nom'])) $nom=$_POST['nom']; else $nom=""; if(isset($_POST['prenom'])) $prenom=$_POST['prenom']; else $prenom=""; // On vérifie si les champs sont vides // connexion à la base require_once 'login1.php'; $conn = new mysqli($hn, $un, $pw, $db); if ($conn->connect_error) die($conn->connect_error); $query = "SET NAMES utf8"; // Force l'encodage en utf-8 $result = $conn->query($query); if (!$result) die($conn->error); if ( $query = mysqli_query("select nom from login where nom = '$nom'") == true) { $row = mysqli_fetch_array($result, MYSQL_ASSOC); printf("nom : %s ", $row["nom"]); $query->close(); } if ( $result = mysqli_query("select password from login where password = '$password'")==true){ $row = mysqli_fetch_array($result, MYSQL_ASSOC); printf("password : %s", $row["password"]); $result->close(); } if ( $result = mysqli_query("select prenom from login where prenom = '$prenom'")==true){ $row = mysqli_fetch_array($result, MYSQL_ASSOC); printf("prenom : %s", $row["prenom"]); $result->close(); } $conn->close(); if (isset($_GET['message'])) { echo($_GET['message']); } else // Sinon, on affiche un message d'erreur { $message = "Identifiants incorrects."; header( 'Location: http://localhost/html/identification_facture.php?message=' . $message); echo "vous n'êtes pas autorisé à accéder aux archives des fichiers factures."; } ?> <h1><center> Facture </center></h1> <p> Les champs sont les suivants : </p> <p> Nom du client, n°client, n°facture </p> <legend>Mots clés :</legend> <fieldset> <form method="POST" action="liste_facture.php"> <center> <input type="text" name="nomclient" size="30" value="nomclient" maxlength="50"><br> <br> <input type="text" name="numclient" size="30" value="numclient" maxlength="6"><br> <br> <input type="text" name="numfacture" size="30" value="numfacture" maxlength="6"><p> le champs fichierfacture peut rester vide <p> <input type="text" name="fichierfacture" size="30" value="fichierfacture" maxlength="50"><br> <br> <input type="submit" value="Rechercher" name="Rechercher"> </center> </form> </fieldset> <img src ='carmi.png'> <br> </body> </html>
C'est écrit au moins deux ou trois fois plus haut.
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 suivi la doc pourtant mais je ne comprend quel parametre il me manque
http://lmgtfy.com/?q=+mysqli_query()...rs%2C+1+given+ Oh beh, y à déjà 2 millions de résultats sur cette question
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,
1/ déjà, vu ton niveau, évite de mettre plusierus instructions sur la même ligne :
à remplacer par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ( $result = mysqli_query("select password from login where password = '$password'")==true){
mysqli_query() : 2 PARAMETRES !! (ce n'est pourtant pas difficile de LIRE la doc (surtout quand elle est en français !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $query = "select password from login where password = '$password'"; $result = mysqli_query( $conn, $query ); // 2 PARAMETRES !! if ( $result ) {
2/ Je ne voudrais pas t'embrouiller mais...
quand on est "débutant", on n'utilise pas mysqli_ (à réserver uniquement à ceux qui veulent mettre à jour "à moindre frais" un ancien code mysql_),
mais PDO !
Merci pour ce coup de pouce
Maintenant il ne me reste plus qu'à bloquer les autres utilisateur en renvoyant un message d'erreur
lorsque je teste avec un utilisateur présent dans ma table ça fonctionne, j'accède à la page suivante
le printf me renvoi le nom et prenom de la personne.
Mais lorsque je saisi un utilisateur qui n'est pas présent dans ma table ça fonctionne aussi j'accède à la page suivante alors que ça ne devrait pas fonctionner.
le printf ne me renvoi aucune valeur.
Je pensais utiliser un message d'erreur de ce type est-ce que la syntaxe est correcte ?
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 <?php if (isset($_GET['message'])) { echo($_GET['message']); } if(isset($_POST['nom'])) $identifiant=$_POST['nom']; else $nom=""; if(isset($_POST['prenom'])) $prenom=$_POST['prenom']; else $prenom=""; $query = "select nom from login where nom = '$nom'"; $result = mysqli_query( $conn, $query ); if ( $result ) { $row = mysqli_fetch_array($result, MYSQL_ASSOC); printf("nom :%s", $row["nom"]); $result->close(); } else // Sinon, on affiche un message d'erreur { $message = "nom incorrect."; header( 'Location: http://localhost/html/facture.php?message=' . $message); $result->close(); } $query = "select prenom from login where nom ='$nom' and prenom = '$prenom'"; $result = mysqli_query( $conn, $query ); if ( $result ) { $row = mysqli_fetch_array($result, MYSQL_ASSOC); //printf("prenom : %s ", $row["prenom"]); $result->close(); } else // Sinon, on affiche un message d'erreur { $message = "prenom incorrect"; header( 'Location: http://localhost/html/facture.php?message=' . $message); $result->close(); }?>
Si je saisie des valeurs ne se trouvant pas la base de donnée j'arrive tout de meme à passer comment se faisse ?
Bonjour,
Ca se faisse () que $result vaut true si la requête est BONNE ou false si elle est MAUVAISE. Point.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $result = mysqli_query( $conn, $query ); if ( $result )
Mais ça ne veut pas dire qu'elle renvoit des données.
Il te faut vérifier que la requête renvoit bien UN enregistrement (une ligne de résultat).
Voir : mysqli_num_rows()
Lorsque je vérifie avec un printf et que je saisisse un nom et prénom se trouvant dans la table users il me l'affiche à l'écran
il écrit sur la page suivante nom:toto prenom:titi
et lorsque je saisie un nom et prénom qui ne se trouve pas dans la table users
il m'affiche sur la page suivante nom: prenom:
Est-ce normal ?
Je ne comprensd pas du tout pourquoi il accéde a la page suivante meme si le nom et prenom ne se trouve pas dans la BD
Bonjour,
la requête renvoie null quand il n'y a pas de résultat. Il faut donc tester la valeur de retour.
Personnellement, je mettrais "close" avant "header".
Christophe
Pensez à mettre quand c'est le cas.
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