Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2007, à 16:14

Moka_one

[resolu] formullaire php qui submit tout seul !!!!

Bonjour voici un formulaire on ne peut plus basique mais qui me fait arraché les cheveux depuis 4 jours car ce dernier, pour une raison inconue a decider de se submitter seul malgré le javascript.
Je m'explique
C'est un formullaire de changement de password pour users inscrits.
Ainsi je demande l'ancien le nouveau et la confirmation du mot de passe de l'user
Le javascript verifie que les 3 champs sont bien remplis , que l'ancien pass est correct par rapport a la bd
et que le nouveau et la confirmation du nouveau soient identiques.
Pour une raison que j'ignore (et je ne suis pas seul) en cas dd'erreur (ex un champ vide) le alert correspondant apparait et la le document se submit sans que je ne lui dise rien. Car meme en retirant le submit du javascript (document.chang_pass.submit();) celui ci se soumet SEUL
voici le code

<?php

include "includes/bdd.php";
include "classes/Etudiants.php";

$etudiants = new Etudiants();
$etudiants->etudiantsBdd($_GET["id"]);
echo'
<html>

	<head>
		<title>Changer password</title>
		<script language="JavaScript">
		
			function verif()
			{
				if ((document.chng_pass.pass0.value =="") || (document.chng_pass.pass.value =="") || (document.chng_pass.pass2.value ==""))
				{
					alert("Tous les champs doivent etres remplis");
					document.chng_pass.pass0.focus();
					return false;
				}
				else 
				{
					if (verif_pass() && verif_ante_pass())
					{
						document.chng_pass.submit();
						return true;
					}
				}				
			}
				
			function verif_pass()
			{
				if((document.chng_pass.pass.value) == (document.chng_pass.pass2.value))
				{
					return true;
				}
				else
				{
					alert("Les deux mots de passes doivent etre identiques");
					document.chng_pass.pass.focus();
					return false;
				}
			}	
			
			function verif_ante_pass()
			{
				if(document.chng_pass.pass0.value == "'.$etudiants->password.'")
				{
					return true;
				}
				else
				{
					alert("Le mot de passe est incorrect");
					document.chng_pass.pass.focus();
					return false;
				}	
			}
				
		</script>
	</head>
	<body>
		<h2> Changer de mot de passe</h2><br/>
			<form name="chng_pass" action="etudiants.php?page=Save_pass_etu" method="post">
			<input type="hidden" value="'.$etudiants->id.'" name="id"/>
			<p>
				Ancien mot de passe : <input type="password" name="pass0" /> <br/>
			</p>
			<p>
				Nouveau mot de passe : <input type="password" name="pass" /> <br/>
			</p>
			<p>
				Confirmer le mot de passe : <input type="password" name="pass2" /> <br/>
			</p>
			<p>
				<button onClick="verif()">Valider</button>
			</p>
		</form>
	</body>
</html>';

Aidez moi svp je n'en peut plus je suis au bout du rouleau la !!!!
merci

Dernière modification par Moka_one (Le 17/04/2007, à 21:35)


La défaite est éphémère
Seule la victoire est éternelle

Hors ligne

#2 Le 17/04/2007, à 19:51

gene69

Re : [resolu] formullaire php qui submit tout seul !!!!

Juste une question, je ne suis pas fort en javascript.

Dans tu vérifies l'ancien mot de passe dans le javascript? pas bien.

function verif_ante_pass()
            {
                if(document.chng_pass.pass0.value == "'.$etudiants->password.'")

            function verif()
            {
                if ((document.chng_pass.pass0.value =="") || (document.chng_pass.pass.value =="") || (document.chng_pass.pass2.value ==""))
                {
                    alert("Tous les champs doivent etres remplis");
                    document.chng_pass.pass0.focus();
                    return false;
                }
                else 
                {
                    if (verif_pass() && verif_ante_pass())
                    {
                        document.chng_pass.submit();
                        return true;
                    }
                  else{
                     //et là il se passe quoi?
                   }
                }                
            }

Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#3 Le 17/04/2007, à 19:52

gene69

Re : [resolu] formullaire php qui submit tout seul !!!!

La défaite est éphémère
Seule la victoire est éternelle

-> seule la mort est éternelle. Sauf pour les religieux, mais c'est pas BibleBuntu ici smile


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#4 Le 17/04/2007, à 20:29

Moka_one

Re : [resolu] formullaire php qui submit tout seul !!!!

gene69 a écrit :
                    if (verif_pass() && verif_ante_pass())
                    {
                        document.chng_pass.submit();
                        return true;
                    }
                  else{
                     //et là il se passe quoi?
                   }
                }                
            }

et bien en fait ici il ne se passe rien puisqu'en effet si la vérification de l'ancien pass (verif_ante_pass()) échoue elle envoie elle même le alert et il en est de même pour verif_pass(). Donc si il y a une erreur dans l'une ou lautre fonction elle met fin elle meme.

Dans le doute j'ai quand meme rajouter un alert et un return false dans le else. Et bien en cas d'erreur les alerts sont bien affichés (celui de la fonction et celui du else) mais apres avoir cliqué sur ok le document se submit toujours seul....
c'est a n'y rien comprendre

Quand a la defaite et la victoire rien de religieu juste une dedicace a un concours de cartes d'y a quelques années ^^


La défaite est éphémère
Seule la victoire est éternelle

Hors ligne

#5 Le 17/04/2007, à 21:18

djorb

Re : [resolu] formullaire php qui submit tout seul !!!!

Bonjour,

Voici ce qui pourrait t'aider:

 <!-- <button onClick="verif();">Valider</button> -->

 <input type="button" value="Valider" onClick="verif();" />

Remplace ta balise <button> par une balise <input type="button">. Ensuite dans la propriété onClick mets ta fonction suivie d'un " ; ".

Hors ligne

#6 Le 17/04/2007, à 21:32

Moka_one

Re : [resolu] formullaire php qui submit tout seul !!!!

ça marche !!!
génial
Je t'en doit une belle djorb merci


La défaite est éphémère
Seule la victoire est éternelle

Hors ligne