Enchainement formulaire/js/php

Bonjour à tous !

J'ai parcouru un peu partout ce site, mais je n'ai pas pu trouver la réponse à ma question.
Je suis plutot novice en programmation web et j'ai du mal à réaliser un "enchainement".

Voici mon problème :

- j'ai écris un formulaire HTML avec nom, prénom, mail.
- un fichier javascript qui vérifie ces champs quand l'utilisateur clic sur un bouton "valider".
- un fichier php qui vérifie si l'@mail n'est pas déja présente dans la base de données (si l'utilisateur n'es pas déjà inscrit).

Pour résumé :

HTML => valider => javascript => si aucune probleme redirection vers la page '.php'.

Voici des extraits de code :

HTML :
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 

 <meta content="text/html;charset=utf-8" http-equiv="content-type" /> 

 <link rel="stylesheet" type="text/css" href="inscription.css">  

 <script  type="text/javascript" src="check_inscription.js"></script> 

</head> 


<body> 

 <h1 id="titre"> Inscription </h1>  

[.......] 

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

[.......] 


JAVASCRIPT
[Verification des champs puis ... ] 

      if (verif.exec(email) == null) 
   { 
    alert("L'email saisi n'est pas valide"); 
    return false; 
   } 
   else 
   { 
    window.location = "check_inscription.php"; 
    return true; 
   } 



PHP
[Selection de la base de données et .. ] 

 //le champ contenant l'adresse mail s'appelle 'mail' 

 $mail = $_POST['mail']; 

 $nom = $_POST['nom']; 

 $prenom = $_POST['prenom']; 

5 réponses

  1. Bonjour,
    Et ta question est...?
    0
    1. Laisse-moi deviner, tu ne reçois pas les valeurs de ton formulaire ???

      window.location = "check_inscription.php"; 


      cette ligne n'est pas correcte

      ce serait plutot :

      document.forms['name_du_formulaire'].submit();
      0
      1. Mon problème est que, une fois que j'ai rempli mon formulaire, que les tests en javascript se sont révélés corrects ; je suis censé être redirigé vers ma page php ; or, quand j'arrive sur la page php en question, je vois le fichier tel quel, je vois mon code source.
        Je suppose donc que la redirection est (très) mal faite !

        maka54 : j'ai essayé ce que tu m'as suggéré, le résultat est le même.

        J'avais réalisé le formulaire html et le fichier php, cela fonctionnait très bien (lien direct - formulaire/php) mais dès que j'ai voulu insérer des tests en js (je ne les connais que dans ce langage) ;je ne sais plus assurer la redirection js/php

        Comment faire si'il vous plait ?

        Cordialement,
        0
        1. on ne fais pas une redirection mais on envoie un formulaire

          action = "" dans la balise form
          0
          1. Voici mon formulaire :
            <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN"
            
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transistional.dtd">
            
            <html xmlns="http://www.w3.org/1999/xhtml">
            
            <head>
            
            	<meta content="text/html;charset=utf-8" http-equiv="content-type" />
            
            	<link rel="stylesheet" type="text/css" href="inscription.css"> 
            
            	<script  type="text/javascript" src="check_inscription.js"></script>
            
            
            
            </head>
            
            
            
            <body>
            
            	<h1 id="titre"> Inscription </h1>
            
            
            
            	<div class="main">
            
            <form name="formulaire" action="check_inscription.php" method="post">
            
            <input type="text" name="prenom" value="Prénom" id="prenom" onClick="ChangePre()" onBlur="deChangePre()"/>
            
            <input type="text" name="nom" value="Nom" id="nom" onClick="ChangeNom()" onBlur="deChangeNom()" />
            
             <input type="text" name="mail" value="Mail"  id="mail" onClick="ChangeMail()" onBlur="deChangeMail()"/>
            
            <input type="text" name="telephone" value="Téléphone"  id="tel"  onClick="ChangeTel()" onBlur="deChangeTel()" "/>
            
            <input type="submit" value="Valider" onClick="Check()"/></td>
            
            </form>
            
            	</div>
            
            
            </body>
            
            </html>
            


            Voici une partie javascript qui effectue les tests :
            function Check()
            {
            	bool=0;
            	str = "";
            
            	if(document.getElementById("prenom").value=="Prénom")
            	{
            		str+="" + "Le champ prénom est requis \n";
            		bool=1;
            	}		
            
            	if(document.getElementById("nom").value=="Nom")
            	{
            		str+="" +"Le champ nom est requis \n";
            		bool=1;
            	}
            
            	if(document.getElementById("mail").value=="Mail")
            	{
            		str+="" +"Le champ mail est requis \n";
            		bool=1;
            	}
            
            	if(bool==1)
            	{
            		alert(str);
            		return false;
            	}
            
            	var email = document.formulaire.mail.value;
            	var verif = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9_-]{2,}[.][a-zA-Z]{2,3}$/
            
            	if (verif.exec(email) == null)
            	{
            		alert("L'email saisi n'est pas valide");
            		return false;
            	}
            	else
            	{
            	       document.formulaire.submit();
            		return true;
            	}
            


            Il ne doit y avoir envoi du formulaire que si celui ci est sans erreur ! (evident!)
            Donc il faut envoyer ce formulaire depuis le fichier js qui lui effectue les tests je me trompe ?

            Merci pour vos réponses.
            0