problemes de formulaires

problemes de formulaires - PHP - Programmation

Marsh Posté le 15-06-2005 à 16:18:37    

bonjour tout le monde.  
j 'ai 2 formulaires "connexion.html" et"formulaire.html".  
sur le premier, j'ai deux champs "login" et "mot de passe".je fait un lien vers le page "formulaire.html" lorsque l'on click sur le lien mot de passe oublié?.  
sur le formulaire "formulaire.html", j'ai un champ "indiquer votre adresse mail".  
ce que je veux c'est que lorsque je saisie une adresse ne correspondant pas au login du formulaire "connexion.html", un message d'erreur soit envoyé disant "l'adresse ne correspond pas au login saisi".  
dans le cas contraire ça marchera.  
j'espere que j étais assez clair.  
merci d'avance.  
 
voici mon code du mail.php  

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2. <html>
  3. <head>
  4. <title>Document sans titre</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. </head>
  7. <body>
  8. <?php
  9. $id=$_POST['id'];
  10. $mail=$_POST['mail'];
  11. // connexion à la base de donnée  
  12. $connexion = mysql_connect("localhost","root" ) or die("erreur" );
  13. mysql_select_db("Client",$connexion);
  14. $valid = "^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\.[a-z]{2,4}$";
  15. if (empty($_POST['mail'])==true)
  16. {
  17.    echo "<i><b>vous devez indiquer l'adresse mail correspondant à votre compte</i></b>";
  18. }
  19. else
  20. {
  21.     if (($mail) && !(eregi($valid, $mail)))
  22.     {
  23.     print "<i><b>L'adresse électronique saisie est invalide.</i></b>\n";
  24.     }
  25.     else
  26.        {
  27.          // on crée la requête SQL, pour ensuite l'envoyer     
  28.          $requete = "SELECT numclient FROM client WHERE mail ='".$mail."' AND id = '".$id."' ";   
  29.          $result = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
  30.        
  31.          if (mysql_fetch_row($result))
  32.           {
  33.           //envoi du mail;  
  34.           }
  35.         else
  36.              {   
  37.              echo "<i><b>Erreur!: cette adresse ne correspond pas à votre Login ou n'existe pas dans la base</i></b>";
  38.              } 
  39.       }
  40. }
  41. ?>
  42. </body>
  43. </html>

Reply

Marsh Posté le 15-06-2005 à 16:18:37   

Reply

Marsh Posté le 15-06-2005 à 16:20:55    

Pas vu de question dans ton post, ni d'expression d'un problème quelconque.:o


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 16:26:41    

test tout simple, tu récupère l'email du login, si != du mail insérer, alors tu met que ce n'est pas bon.. Je ne sais pas si c'est ça que tu veux... ? :)

Reply

Marsh Posté le 15-06-2005 à 16:34:47    

j espere que vous avez allez comprendre maintenant lol.
ce que je veux c'est que lorsque l'utilisateur oublit  son "mot de passe" et si il appuit sur le lien"mot de passe oublié", il accede a un formulaire ou il y a un seul champ "mail" ou l utilisateur saisira l adresse mail correspondant au login saisi ds le 1er formulaire.ensuite un mail lui sera envoyé automatiquement pour lui rappeler son mot de passe voila
 

Reply

Marsh Posté le 15-06-2005 à 16:36:21    

micfont999 a écrit :

test tout simple, tu récupère l'email du login, si != du mail insérer, alors tu met que ce n'est pas bon.. Je ne sais pas si c'est ça que tu veux... ? :)


en fait c ca .

Reply

Marsh Posté le 15-06-2005 à 16:40:53    

nada71 a écrit :

j espere que vous avez allez comprendre maintenant lol.
ce que je veux c'est que lorsque l'utilisateur oublit  son "mot de passe" et si il appuit sur le lien"mot de passe oublié", il accede a un formulaire ou il y a un seul champ "mail" ou l utilisateur saisira l adresse mail correspondant au login saisi ds le 1er formulaire.ensuite un mail lui sera envoyé automatiquement pour lui rappeler son mot de passe voila


oui, et?
Elle est où ta question là? :??:
tu as un problème pour le faire? quelquechose qui ne marche pas? On est censés deviner ou te pondre le code nous-mêmes?


Message édité par skeye le 15-06-2005 à 16:41:35

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 16:42:24    

explication cone lol,c'est comme la plupart des sites quand on oubli le mot de passe.on leur rapelle l adresse mail et on recoit le message contenant le mot de passe.

Reply

Marsh Posté le 15-06-2005 à 16:45:54    

Sur la même page que ton formulaire ou il insère le mail,  
tu fait un test

Code :
  1. if(isset($_POST["mail"])){
  2. tu fait ici ton select login et mail
  3. tu fait un if pour voir si le $_POST mail correspond à ton résultat du select.
  4. si c'est le cas tu envoi le mail
  5. sinon tu di "BIEN JOUER MAIS C'EST PAS TOI !!! "   
  6.     }

Reply

Marsh Posté le 15-06-2005 à 16:46:32    

skeye a écrit :

oui, et?
Elle est où ta question là? :??:
tu as un problème pour le faire? quelquechose qui ne marche pas? On est censés deviner ou te pondre le code nous-mêmes?


en fait le problème c'est que même quand l'adresse saisie correspond bien au champ "login" du formulaire "connexion.html" j'ai ce message  

Citation :


Notice: Undefined index: id in c:\program files\easyphp1-8\www\php\mail.php on line 10  
vous devez indiquer l'adresse mail correspondant à votre compte


Reply

Marsh Posté le 15-06-2005 à 16:48:35    

nada71 a écrit :

en fait le problème c'est que même quand l'adresse saisie correspond bien au champ "login" du formulaire "connexion.html" j'ai ce message  

Citation :


Notice: Undefined index: id in c:\program files\easyphp1-8\www\php\mail.php on line 10  
vous devez indiquer l'adresse mail correspondant à votre compte



ben voilà, on avance.:o
L'erreur est très claire...et ça ne marche pas à cause de ça.:o
 
Fais voir le code de ton formulaire qui appelle cette page...


Message édité par skeye le 15-06-2005 à 16:49:14

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 16:48:35   

Reply

Marsh Posté le 15-06-2005 à 16:52:43    

sur le formulaire en fait y a pas de "<input name='id'...>.justement je veux pas un deuxieme champ.je veux seulement le champ ou l on saisi l'email.

Reply

Marsh Posté le 15-06-2005 à 16:54:53    

et le j ai met en place un <input type="hidden" name="id" value=""> pour cacher le champ.
la j ai plus le message d erreur  
"Notice: Undefined index: id in c:\program files\easyphp1-8\www\php\mail.php on line 10  "
mais ca marche pas.

Reply

Marsh Posté le 15-06-2005 à 16:54:57    

nada71 a écrit :

sur le formulaire en fait y a pas de "<input name='id'...>.justement je veux pas un deuxieme champ.je veux seulement le champ ou l on saisi l'email.


alors tu le mets en hidden...:o
Là tu essaies d'accéder à $_POST['id'] alors que tu sais pertinemment qu'il existe pas...[:ktulu]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 16:55:52    

nada71 a écrit :

et le j ai met en place un <input type="hidden" name="id" value=""> pour cacher le champ.
la j ai plus le message d erreur  
"Notice: Undefined index: id in c:\program files\easyphp1-8\www\php\mail.php on line 10  "
mais ca marche pas.


 
Mais c'est pas de la magie, non plus![:mlc]
Si tu la passes pas la valeur comment tu veux pouvoir vérifier que cette valeur correspond bien à l'email?[:ktulu]²²²²²²²²


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 17:00:53    

c'est exactement ça mon problème.

Reply

Marsh Posté le 15-06-2005 à 17:03:28    

Vous etes borné.? Pourquoi ne pas utiliser ma méthode, c'est pourtant simple..

Reply

Marsh Posté le 15-06-2005 à 17:05:15    

micfont999 a écrit :

Vous etes borné.? Pourquoi ne pas utiliser ma méthode, c'est pourtant simple..


merci j suis en train de tester.

Reply

Marsh Posté le 15-06-2005 à 17:05:50    

nada71 a écrit :

c'est exactement ça mon problème.


 
Mais ya pas de problème! Tu le passes input type="hidden", et basta![:mlc2]
 
 

micfont999 a écrit :

Vous etes borné.? Pourquoi ne pas utiliser ma méthode, c'est pourtant simple..


 
je crains que tu n'aies rien compris au vrai pb...[:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 17:06:45    

skeye a écrit :


je crains que tu n'aies rien compris au vrai pb...[:petrus75]


 
Snif chui si nul que ça  :cry:  :cry:  
 

Reply

Marsh Posté le 15-06-2005 à 17:08:22    

micfont999 a écrit :

Snif chui si nul que ça  :cry:  :cry:


Il veut vérifier qu'un email saisi correspond bien à l'id qu'il a, mais il ne veut pas passer l'id à sa page, ce qui complique relativement beaucoup la tâche...[:petrus75]


Message édité par skeye le 15-06-2005 à 17:08:36

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 17:13:14    

ah et puis il doit aussi y avoir une erreur dans le nom du champ mail, parce-que $_POST['mail'] est vide aussi, si je lis bien le message d'erreur obtenu...[:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 17:13:53    

skeye a écrit :

mais il ne veut pas passer l'id à sa page
[:petrus75]


 
HEin??  :heink: mdr je pige kedal


Message édité par micfont999 le 15-06-2005 à 17:14:39
Reply

Marsh Posté le 15-06-2005 à 17:15:25    

micfont999 a écrit :

HEin??  :heink: mdr je pige kedal


 
Je comprends pas trop pourquoi non plus, mais il a l'air d'y tenir...[:petrus75]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 15-06-2005 à 17:18:54    

merci pour vos reponses moi non plus je pige kedal lol.j vais essayer de me demmerder.

Reply

Marsh Posté le 15-06-2005 à 17:21:02    

bah nan mais je sais pas, tu clique sur mot de passe oublié, tu donne un formulaire avec login et mail, tu vérifie si tout correspond et basta, on va pas passer 15 plombes la dessus, c'est pourtant pas la mère (mer plutot :D) à boire... :)

Reply

Marsh Posté le 15-06-2005 à 17:29:35    

c été tro con les gars j trouvé la solution.j ai un seul champ mail.je verifie tt simplement si l email existe dans ma base de donnee.merci a vous a+

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed