IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

PHP ou JS (formulaire)


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Par défaut PHP ou JS (formulaire)
    Tout est dans le titre. Donc j'explique un peu mieux. Dans mon fomulaire il y a une checkbox, qui, si on coche oui alors d'autres champs s'affichent. J'aimerai savoir deja si je dois enregistrer la case cocher dans le php ou alors juste regarder laquelle est cochée puis je souhaiterai envoyer un message d'alert si jamais la case cochée est oui mais qu'il ne rempli pas le champ apparaissant. Comment faire tout cela je vous joint tous mes codes.
    HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
      <title>Formulaire d'inscription</title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <link rel="stylesheet" href="formulaire.css"  type="text/css" />
      <script src="formulaire.js" type="text/javascript" charset=utf-8></script>
     
     
    </head> 
    <body onload="pratique_update()">
    <h1>Les données à remplir sont les suivantes : </h1>
    <form action="formulaire.php" enctype="multipart/form-data" method="post" onsubmit="return valide_formulaire()" >
      <fieldset>
      <legend>Connexion</legend>
      <p>
        <label for="login">Choisissez un login : </label>
        <input type="text" name="login" id="login" maxlength="20" />
      </p>
      <p>
        <label for="pwd">Choisissez votre mot de passe : </label>
        <input type="password" name="pwd" id="pwd"/>
      </p>
     
      </fieldset>
      <fieldset>
      <legend>Coordonnées personnels</legend>
      <p>
        <label id="nom">Entrez votre Nom : </label>
        <input type="text" name="nom" id="nom" />
      </p>
      <p>
        <label for="prenom">Entrez votre Prenom : </label>
        <input type="text" name="prenom" id="prenom" />
      </p>
      <p>  
        <label for="age">Entrez votre Age : </label>
        <input type="text" name="age" id="age" onkeypress="chiffres(event)" />
      </p>
      <p>  
        <label for="mail">Votre adresse mail : </label>
        <input type="text" name="mail" id="mail" />
      </p>
      <p>
        <label for="adresse">Entrez votre Adresse : </label>
        <input type="text" name="adresse" id="adresse" />
      </p>
      <p>  
        <label for="ville">Entrez votre Ville : </label>
        <input type="text" name="ville" id="ville" />
      </p>
      <p>  
        <label for="code">Entrez votre code postal : </label>
        <input type="text" name="code" id="code" />
      </p>
     
      </fieldset>
      <fieldset>
      <legend>Vous et le rugby</legend>
      <div>
    	Pratiquez-vous le rugby :
    	<input type="radio" name="pratique" id="pratique_oui" value="oui"  onclick="pratique_update()" />
    	<label for="pratique_oui">Oui</label>
    	<input type="radio" name="pratique" id="pratique_non" value="non" checked="checked" onclick="pratique_update()" />
    	<label for="pratique_non">Non</label>
      </div>
      <div id="pratique_details">
    	<div>
    	  <label for="ok">Dans quelle club ?</label>
      	<input type="text" name="ok" id="ok" />
    	</div>
     
          </div>
      <p>
        <label for="club">Quel club supportez-vous ? </label>
        <input type="text" name="club" id="club" />
      </p>
      </fieldset>
      <div><input type="submit" value="Valider" /></div>
    </form>
    </body>
    </html>
    PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    $connexion = mysql_pconnect("sql.free.fr","kplanchon","kplanchon");
    mysql_select_db("kplanchon", $connexion);
    $login=mysql_escape_string($_REQUEST['login']); 
    $pwd=mysql_escape_string($_REQUEST['pwd']);
    $nom=mysql_escape_string($_REQUEST['nom']);
    $prenom=mysql_escape_string($_REQUEST['prenom']);
    $age=mysql_escape_string($_REQUEST['age']);
    $mail=mysql_escape_string($_REQUEST['mail']);
    $adresse=mysql_escape_string($_REQUEST['adresse']);
    $ville=mysql_escape_string($_REQUEST['ville']);
    $code=mysql_escape_string($_REQUEST['code']);
    $club=mysql_escape_string($_REQUEST['club']);
     
     
     
    if(is_numeric($age)){
        if($age<=0 || $age>130){
          header('Location: formulaire.html');
        }
        else{mysql_query("INSERT INTO formulaire(login, pwd, nom, prenom, age, mail, adresse, ville, code, club, rugby) VALUES('$login','$pwd','$nom','$prenom','$age','$mail','$adresse','$ville','$code','$club','$rugby')", $connexion) or die(mysql_error());
        header('Location: index.php');
        }
    }    
    else{
    header('Location: formulaire.html');
    }   
     
    ?>
    Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    // JavaScript Document
    function valide_formulaire() {
        if(document.getElementById('login').value == "") {
            alert ('Vous avez oublié de saisir un login!!!!');
            return false;
        }
        else if(document.getElementById('pwd').value == "") {
            alert ('Vous avez oublié de saisir un mot de passe!!!!');
            return false;
        }
    return true;
    }
     
    function valide_mdp(){
        if(document.getElementById('pwd').value == ""){
            alert ('Vous avez oublié de saisir un mot de passe!!!!');
            return false;
        }
    return true;
    } 
     
    function pratique_update()
    {
      pratique=document.getElementById("pratique_details");
      if(document.getElementById("pratique_oui").checked) {
        pratique.style.display="block";
      } else {
        pratique.style.display="none";
      }
    }
     
     
    function chiffres(event) {
     
    	if(!event&&window.event) {
    		event=window.event;
    	}
     
    		if(event.keyCode < 48 || event.keyCode > 57) {
    		event.returnValue = false;
    		event.cancelBubble = true;
    	}
    }

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Un principe de base si tu veux éviter des ennuis à ton serveur :

    hors "pur confort d'utilisation", tout contrôle effectué sur le navigateur doit être également effectué sur le serveur, car hélas/heureusement (suivant qu'on soit utilisateur ou développeur) JS se désactive très facilement

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Par défaut
    Donc ce n'est pas possible de faire ce que je veux?

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Vu ce que tu décris, tu peux tout à fait contrôler en JS que la case soit bien cochée (avec alert() et tout), mais il est impératif ensuite, une fois les données envoyées au serveur, de refaire les controle (case cochée + champ rempli).
    Ca ne change rien à "ce que tu veux faire". Seulement certains controles doivent être faits 2 X.

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Problème avec un script php d'un formulaire
    Par Dark DJ dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2006, 19h36
  2. [Image]Insérer une image générée par PHP dans un formulaire (anti-robot)
    Par dark_vidor dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 29/04/2006, 22h48
  3. [MySQL] erreur php sur un formulaire de mis à jour
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 34
    Dernier message: 06/04/2006, 13h39
  4. Prob avec PHP sur le formulaire de contact
    Par inferno66667 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2005, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo