je comprend pas, tu fais 1 pas en avant et 3 en arrière :cry:
je rêve la !Citation:
je regarde encore les documents
tu te rends pas compte que maintenant ton code n'a ni queue ni tête ?
Version imprimable
je comprend pas, tu fais 1 pas en avant et 3 en arrière :cry:
je rêve la !Citation:
je regarde encore les documents
tu te rends pas compte que maintenant ton code n'a ni queue ni tête ?
je viens d'essyer ceci mais il me retourne une erreur de syntaxe :
il rentre bien dans ma condition mais elle n'est pas bonne je pense ...:aie:Code:
1
2
3
4
5 elseif ( empty($_POST['login']) or empty($_POST['pass'])) { $_GET['erreur']=1; $_GET['erreur']=$erreur header('Location: ajouter.php?'.$erreur.''); }
Pourquoi il a ni queue ni tete ?
Tu m'a dit de mettre get sur ma page et de l'appeler sur lautre ... :calim2:
-----------------
Je ne comprend pas en quoi le ulencode et le urldecode vont été utile ? pourquoi je voudrais codé une chaine en url ? et la decoder ?
-----------------
Tout les exemples que trouve sur Google sont avec a Href et non avec header ..
Je ne comprend pas le principe d'utiliser un GET il s'agit de recuperer une variables présente dans une URL mais la je créer une variable erreur je ne sais même pas ce que je dois mettre dedans ..
Je pensais quil fallait initialiser la variable avec GET dans la page1 et l'appeler dans la page2 .. Et si elle était vérifié dans la page2 alors afficher mon message d'erreur dans mon echo ...
Et au final c'est plus du tout ca je suis perdue je vous avoue ...:(
----------------------
J'ai essayer autre chose alors dans membre.php :
Et dans ajouter.php :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 teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion'])) { echo '<script language="Javascript"> Connexion OK ! </script>'; if ( !empty($_POST['login']) && !empty($_POST['pass'])) { $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('lcesa', $base); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) as nb FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $result=mysql_fetch_assoc($req); if ($result['nb'] == 1) { header('Location: ajouter.php'); } mysql_close(); } else { //$_GET['erreur']=1; header('Location: ajouter.php'); } } ?>
Ceci m'affiche bien ajouter.php mais malheureusement sans entré dans ma condition sur ajouter.php :roll:Code:
1
2
3
4
5
6
7 <?php if ( empty($_POST['login']) or empty($_POST['pass'])) { echo '<script language="Javascript"> alert Le login ou le mot de passe n\'ont pas été saisis" ) </script>'; } ?>
Je me suis debrouiller auterment, j'ai fais un echo simple avec un bouton retour et tout fonctionne merci a tous pour votre aide precieuse !!! :ccool:
Lorsque je t'avais donner le code, il y a 10..posts ! tu n'avais qu'a copier bêtement
remplacer tes 2 header() par
POINT final, tes conditions if étaient bonnesCode:header ('Location: connexion.php?err='.urlencode('Erreur Login ou mot de passe'));
et toi tu l'a recopier en :
Bravo tu as de l'imagination :)Code:
1
2
3 $_GET['erreur']=1; $_GET['erreur']=$erreur header('Location: ajouter.php?'.$erreur.'');
dans connexion.php
recopier bêtement mon code:
et toi tu l'a transformé enCode:
1
2
3 if (isset($_GET['err'])){ echo '<script language="Javascript"> alert ("'.htmlentities(urldecode($_GET['err'])).'" ) </script>'; }
:mouarf::mouarf::mouarf::mouarf::mouarf::mouarf::mouarf:Code:
1
2
3 if (isset($_GET['erreur']) == 1 ) { echo '<script language="Javascript"> alert ("'.htmlentities($_GET['erreur']).'" ) </script>'; }
pourquoi ne pas le copier bêtement ?????????????????
Tes conditions if( empty($_POST['login'])) fonctionnaient , toi tu as tout cassé
Code:
1
2
3
4
5
6
7
8
9 if ( !empty($_POST['login']) && !empty($_POST['pass'])) { // si login et pass sont non vide ... if ($result['nb'] == 1) { ok } elseif ( empty($_POST['login']) or empty($_POST['pass'])) { si post ou pass est vide !!!!!! erreur Le login ou le mot de passe n\'ont pas été saisis } }
-----------------------------
j'ai ecrit :
toi tu recopis il y a 2 post :Code:echo '<script language="Javascript"> alert ("'.htmlentities($_GET['erreur']).'" ) </script>';
Que alert() soit une fonction :aie: pas grave pour toi ! et donc bien sur même si tu arrive ici, aucune chance de voir le message car il y a une erreur javacript :) bravo le cumul :)Code:echo '<script language="Javascript"> alert Le login ou le mot de passe n\'ont pas été saisis" ) </script>';
Mais je recopie ou ton if et tes echo ?
J'en suis la sauf que j'ai toujours mon echo et mon header dans le meme bateau et ca ca ne va pas !!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 <?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion'])) { echo '<script language="Javascript"> Connexion OK ! </script>'; if ( !empty($_POST['login']) && !empty($_POST['pass'])) { $id = mysql_connect ('localhost', 'root', ''); mysql_select_db ('lcesa', $id); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) as nb FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $result=mysql_fetch_assoc($req); if ($result['nb'] == 1) { header('Location: ajouter.php'); } elseif ( empty($_POST['login']) or empty($_POST['pass'])) { echo '<script language="Javascript"> alert ("Erreur Login ou mot de passe" ) </script>'; header ('Location: connexion.php?err='.urlencode('Erreur Login ou mot de passe')); } mysql_close(); } else { echo '<script language="Javascript"> alert ("Vous n\'avez pas accès a cette page" )</script>'; header ('Location: connexion.php?err='.urlencode('Erreur Login ou mot de passe')); } } ?>
En poursuivant mes petites recherches, les gens disent sur divers forum pour ceux ayant le même soucis que moi d'utiliser un refrech dans le header mais est ce que cela serait vraiment utile dans mon cas precis ?
:mur: :mur: :mur: :mur: :mur: :mur: :mur: :mur:
pour le 10 000ème : Il n'est pas possible de faire un echo dans cette page !!!
:mur: :mur: :mur: :mur: :mur: :mur: :mur: :mur:
j'ai pourtant ecrit :
Essaye de réfléchir :
si les parametres ne sont pas bons =>
tu rediriges vers la page connexion.php qui, elle même affiche l'erreur !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MAIS, comme dit + haut, tu as cassé aussi tes if() donc tu ne gères même plus les conditions d'erreurs :(
Alors le GET est dans mon connexion.php
Et j'ai remis mes if comme ils étaient avec la redirection vers connexion.php si les champs sont vides
Les if doivent bien être dans membre.php non ?
Code de membre.php :
Code de connexion.php :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 <?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion'])) { if ( !empty($_POST['login']) && !empty($_POST['pass'])) { $id = mysql_connect ('localhost', 'root', ''); mysql_select_db ('lcesa', $id); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) as nb FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $result=mysql_fetch_assoc($req); if ($result['nb'] == 1) { header('Location: ajouter.php'); } elseif ((empty($_POST['login']) or empty($_POST['pass'])) and isset($_POST['connexion'])){ header ('Location: connexion.php'); } mysql_close(); } //else { //echo '<script language="Javascript"> alert ("Vous n\'avez pas accès a cette page" )</script>'; //header ('Location: erreur.php'); //} } ?>
Code:
1
2
3
4
5
6
7
8
9
10
11 <form action="membre.php" method="post"> Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br /> Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br /> <input type="submit" name="connexion" value="Connexion"> </form> <?php if (isset($_GET['err'])){ echo '<script language="Javascript"> alert ("'.htmlentities(urldecode($_GET['err'])).'" ) </script>'; } ?>
J'ai fais ma redirection dans admin.php (j'ai changer le nom de page c'était membre.php)
et j'ai tenté ceci dans connexion.php :
Mais il ne rentre pas dans mon if car la condition ne se verifie pas ..Code:
1
2
3
4
5
6
7
8
9 <?php if (isset($_POST['connexion2'])) { if (empty($_POST['login3']) && empty($_POST['pass3'])) { //header('Location: connexion.php'); echo '<script language="Javascript">alert ("Au moins un des deux champs est vide" )</script>'; } } ?>
Du coup est ce que j'ai pensais créer une autre page erreur.php ou j'afficherai mes erreurs..
Mais le probleme resterai le même .. La redirection vers ma page de connexion :/
Et je n'arrive pas a comprendre comment se servir du GET['err'] de papajok' ... :calim2:
:oops:
a 9h11 ce matin ta page connexion.php était bonne :) parfaite !
je te repete pour la 50 000eme fois (et derniere)
dans (ancienne?)membre.php, tu fais tes redirection de cette manière :
---------------------Code:
1
2 $message=" le message qui va etre affiché par javascript dans la page suivante"; header('Location: ta_page_php_que_tu_desires.php?err=' . urlencode($message) );
tes conditions if (_POST) sont toujours farfelues :( dans membre, mais ca c'est un autre probleme :mouarf:
je l'ai expliqué , je répété pas.
Coucou
Donc dans admin.php (ancien membre.php)
Dans la page ou je redirectionne le user donc vers la page de depart, connexion.php :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 <?php if (isset($_POST['connexion2'])) { if (!empty($_POST['login3']) && !empty($_POST['pass3'])) { $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('lcesa', $base); // on teste si une entrée de la base contient le couple login / pass $sql = 'SELECT count(*) as nb FROM admin WHERE user="'.mysql_escape_string($_POST['login3']).'" AND pass2_md5="'.mysql_escape_string(($_POST['pass3'])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $result=mysql_fetch_assoc($req); //mysql_free_result($req); mysql_close(); // si on obtient une réponse, alors l'utilisateur est un membre if ($result['nb'] == 1) { session_start(); $_SESSION['login3'] = $_POST['login3']; header('Location: ajouter.php'); exit(); } // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe elseif ($result['nb'] == 0) { $message=" Le mot de passe ou le login est faux"; header('Location: connexion.php?err=' . urlencode($message) ); } } else { //header('Location: connexion.php'); } } ?>
Code:
1
2
3
4
5
6 <?php if (isset($_GET['err'])){ echo '<script language="Javascript"> alert ("'.htmlentities(urldecode($_GET['err'])).'" ) </script>'; } ?>
OKOK ca fonctionne j'ai arraché les doc de GET je ne comprenais pas le but et la difference entre un GET et POST :aie:
Si je veux mettre un deuxieme message d'erreur, je peux utiliser un autre GET du coup ? :roll:
C'est bon j'ai piger le truc !!
Tout fonctionne correctement !
merci papajok' :heart:
De ta patiente et de ton aide !!!!!
connaitre le POST sans le GET voila qui est original :)
http://julien-pauli.developpez.com/t...age_3#LIII-B-1