Que lien utilisé vous pour acceder à votre page d'affichage ?
Version imprimable
Que lien utilisé vous pour acceder à votre page d'affichage ?
salut à tous, voilà enfin mon code d'insertion s'exécute bien en utilisant wamp, mais juste pour l'affichage lors de l'utilisation de:
un message d'erreur s'affiche:Code:while ($data=mysqli_fetch_array($resultat, MYSQL_BOTH))
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\template\affiche.php on line 18.
y'a t-il d'explication pour ceci!!
Bonjour,
comment est obtenu $resultat ?
Car la réponse signifie que résultat n'est pas du type mysqli_result.
sinon ça aurait été plus joli comme ça
Code:while ($data = $resultat->fetch_array(MYSQLI_BOTH))
salut à tous, enfin en navigant vers wamp, tous marche bien.
juste je veux bien améliorer ma simple apploication. je m'explique, la prmière page affichée est ma page d'authentification. si l'utilisateur donne un login et mot de passe correctes on passe à la page suivante, sinon un message d'erreur s'affiche. Le controle s'effectue par une fonction javascript et non pas un code php.
Le problème est qu'une fois l'utilisateur se connecte puis se déconnecte, un autre peut facilement naviguer vers la deuxième page en utilisant les boutons suivant et précédent du navigateur ou en consultatnt l'hostorique.
Y'a-t-il une simple solution pour empêcher ceci? Est ce qu'on mettant le contrôle en php peut résoudre le pb.
Merci
salut,
le code ci-dessous présente ma page connexion.php. Mon pb est que la partie du if s'exécute même si les champs au niveau du formulaire ne sont pas données.
Y'a -t-il des erreurs au niveau du code!! Le pb est -il causé par ISSET???Code:
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 <?php // On définit un login et un mot de passe de base pour tester la validité de connexion. $login_valide = "MSISDJER"; $pwd_valide = "KLIU78DA"; // on teste si nos variables sont définies if (isset($_POST['login']) && isset($_POST['pwd'])) { // on vérifie les informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé, de même pour le mot de passe if ($login_valide == $_POST['login'] && $pwd_valide == $_POST['pwd']) { // dans ce cas, tout est ok, on peut démarrer notre session // on la démarre :) session_start (); // on enregistre les paramètres de notre visiteur comme variables de session ($login et $pwd) $_SESSION['login'] = $_POST['login']; $_SESSION['pwd'] = $_POST['pwd']; // on redirige notre visiteur vers la page d'accueil header ('location: accueil.html'); } else { // Le visiteur n'a pas été reconnu comme étant utilisateur autorisé. On utilise alors un petit javascript lui signalant ce fait echo '<body onLoad="alert(\'Login et mot de passe invalides\')">'; // puis on le redirige vers la page de connexion echo '<meta http-equiv="refresh" content="0;URL=connexion.html">'; } } else { echo 'Les variables du formulaire ne sont pas déclarées.'; } ?>
Bonjour, je trouve très surprenant de voir un <body> en plein milieu du code ; moi j'aurais écrit à la place des lignes 21 à 26 :Code:
1
2
3
4
5
6 else { // Le visiteur n'a pas été reconnu comme étant utilisateur autorisé. On utilise alors un petit javascript lui signalant ce fait ?> alert('Login et mot de passe invalides');<?php // puis on le redirige vers la page de connexion header ('location: connexion.html'); }
mon pb n'est pas au niveau du body se trouvant en plein code, dejà c'est exécutable, mais au niveau du dernier else, elle ne s'exécute pas même si on n'a pas mis de login et de mot de passe!!!!
Je ne sais pas si ça arrangera les choses, mais if ($login_valide == $_POST['login'] && $pwd_valide == $_POST['pwd']) (ligne 10), écris-le plutôt if (($login_valide == $_POST['login']) && ($pwd_valide == $_POST['pwd'])) (j'ai rajouté des parenthèses)
je l'ai déjà fait avant de poster le message mais rien ne change.
Je vais essayer avec if..elseif....
Je viens de voir qu'il y a le même souci ligne 7 (et à mon avis, c'est nécessaire) et pour être sûr de tes variables, rajoute avant le if de la ligne 7, le code echo "login_valide=".$login_valide."/_POST['login']=".$_POST['login']."/pwd_valide=".$pwd_valide."/_POST['pwd']=".$_POST['pwd']."<br/>";
même avec if elseif, rien ne change. toujours le dernier message est affiché dans tous les cas. je suis vraiment bloquée et je ne comprends pas le problème!!!!!!!!!
j'ai testé mes variables et sont correctement affichées.
Je voudrais le faire tourner sur mon propre wamp pour essayer de trouver le problème mais comme je n'ai pas envie de recréer le code qui n'est pas là, peux-tu donner tout le code afin qu'un copier-coller suffise pour le faire tourner ?
voici le code de ma page connexion.php
voici le code de ma page connexion.html:Code:
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 <?php // On définit un login et un mot de passe de base pour tester la validité de connexion. $login_valide = "MSISDJER"; $pwd_valide = "KLIU78DA"; echo (strlen ($_POST['login'])); echo(strlen ($_POST['login']==0)); // on teste si nos variables sont définies if ((isset ($_POST['login'])) and (isset ($_POST['pwd']))) { // on vérifie les informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé, de même pour le mot de passe if (($login_valide == $_POST['login']) && ($pwd_valide == $_POST['pwd'])) { // dans ce cas, tout est ok, on peut démarrer notre session // on la démarre :) session_start (); // on enregistre les paramètres de notre visiteur comme variables de session ($login et $pwd) $_SESSION['login'] = $_POST['login']; $_SESSION['pwd'] = $_POST['pwd']; // on redirige notre visiteur vers la page d'accueil header ('location: accueil.html'); } else { // Le visiteur n'a pas été reconnu comme étant utilisateur autorisé. On utilise alors un petit javascript lui signalant ce fait echo '<body onLoad="alert(\'Login et mot de passe invalides\')">'; // puis on le redirige vers la page de connexion echo '<meta http-equiv="refresh" content="0;URL=connexion.html">'; } } else { echo($_POST['login']); echo($_POST['pwd']); echo '<body onLoad="alert(\'Les variables du formulaire ne sont pas déclarées.\')">'; // puis on le redirige vers la page de connexion echo '<meta http-equiv="refresh" content="0;URL=connexion.html">'; } ?>
Code:
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>MSIS</title> </head> <body> <form method="post" name="form" action="connexion.php"> <h2 class="Style1">Authentification</h2> <p> <label> Nom d'utilisateur: <input type="text" name="login" /> </label> </p> <p> <label>Mot de passe: <input type="password" name="pwd" /> </label> </p> <p> <label> <div align="center"> <div align="center"> <input type= "submit" name="connexion" value="Connexion"/> </div> </label> <p> </p> <p> </p> </form> </body> </html>
Chez moi, ça marche bien !! Pense à vider ton cache..
comment vider la cache svp?
autre question svp, je voudrais bien exécuter mes pages web directement sans passer wamp et consulter localhost et mes projets. Est-il possible de faire ceci car j'ai essayé de mettre un raccourcis de ma première page sur le bureau et d'exécuter les autres, les liens marchent convenablement mais le PHP non plus!!!
merci
vider le cache (Google)(pour tous les navigateurs principaux) : http://www.rapidomaine.fr/support/ra...ateur-internet De toute façon, quand tu redémarres ton PC, ça vide le cache.
Et sinon, pas possible d'exécuter du PHP sans un serveur en local (j'ai déjà utilisé soit Wamp soit EasyPhp et y en a d'autres) mais il faut un outil.