Partage
  • Partager sur Facebook
  • Partager sur Twitter

vérification en base sur 4 variables d'un form

    17 septembre 2019 à 16:14:44

    bonjour à tous,

    comme indiqué dans le titre , j'ai ,un formulaire d'inscription utilisateur, et je souhaiterais faire une vérification en bas pour ne pas avoir de doublon .

    j'ai essayé differentes choses , mais qui ne fonctionne pas comme je le souhaite .

    je suis débutant en js , alors soyez compréhensif ;-) .....

    voici ce que j'ai fais , mais qui me pose problème , car cela fonctionne bien quand la vérification se fait sur le premier input, mais pour les autres , rechargeant la page , je perds les infos qui ont été rentrez avant .... ( et qui sont bonne ) .

    le formulaire :

    <input class="users" type="hidden" name="date_creation"  value="<?php echo date('Y-m-d');?>">
           
    		<input class="users" type="text" name="nom"  id="nom" value="<?php if(($result_nom->nom) != ($_GET['nom'])){ echo $_GET['nom'];}?>" >
            <script>
    		document.getElementById('nom').onchange = function() {
        	window.location = "index.php?page=Formulaire_acquereur_seul&nom="+ this.value;};
    		</script>
    		<input class="users" type="text" name="prenom"  value="">
    		<input class="users" type="text" name="email"  id="email" value="<?php if(($result_email->email) != ($_GET['email']) ){ echo $_GET['email'];}?>">
            <script>
    		document.getElementById('email').onchange = function() {
        	window.location = "index.php?page=Formulaire_acquereur_seul&email="+ this.value;};
    		</script>
            <input class="users" type="text" name="telephone_mobile"   value="" placeholder="Ex :0102030405" maxlength="10">
     		<input class="users" type="text" name="telephone_fixe"   value="" placeholder="Ex :0102030405" maxlength="10">

    et le code de vérif :

    <?php
    if($_GET['nom'])
    {
    		$resultat=$pdo->query("SELECT nom FROM acquereur WHERE nom = '".$_GET['nom']."' OR nom_conjoint = '".$_GET['nom']."'");
    		$resultat->setFetchMode(PDO::FETCH_OBJ);
    		$result_nom = $resultat->fetch();
    		
    		if(($result_nom->nom) == ($_GET['nom']))
    		{
    			echo ' <p style="color:red;">Le nom existe déja</p><br> ';
    		}
    		else
    		{
    		}
    }
    elseif($_GET['email'])
    {
    		$resultat=$pdo->query("SELECT email FROM acquereur WHERE email = '".$_GET['email']."' OR email_conjoint = '".$_GET['email']."'");
    		$resultat->setFetchMode(PDO::FETCH_OBJ);
    		$result_email = $resultat->fetch();
    		
    		if(($result_email->email) == ($_GET['email']))
    		{
    			echo ' <p style="color:red;">L\'email existe déja </p><br>';
    		}
    		else
    		{
    		}
    }
    ?>

    merci pour votre aide précieuse comme d'habitude


    • Partager sur Facebook
    • Partager sur Twitter
      17 septembre 2019 à 16:57:00

      Bonjour,

      Alors tout d'abord essaie de séparer ton traitement JS, ton traitement PHP, ta mise en page CSS et ton HTML.

      Ensuite on évite d'envoyer les données d'un formulaire en GET car on les voit dans l'URL, on privilégie la méthode POST (sauf cas particulier).

      De plus, Pour une requête avec des champs passé en paramètre, on privilégie les requêtes préparées avec un r = BDD->prepare et r->execute.

      Ton fetch te retourne un tableau avec des clés, il faut donc faire $result_nom['nom'] et non pas $result_nom->nom.

      PHP n'aime absolument pas les ligne de code sur une seule ligne, va à la ligne après ton {, après ton ; et après ton }.

      Si ton else est vide, cela ne sert à rien de le faire paraître ;)

      Essaie déjà de corriger tous ca et dis nous les problèmes que tu rencontres ;)

      -
      Edité par lindadu01 17 septembre 2019 à 16:57:44

      • Partager sur Facebook
      • Partager sur Twitter

      Parfois, arrêter 5 minutes son développement permet de mieux repartir face à un problème ;)

        17 septembre 2019 à 17:03:37

        ok merci linda, je fais cela et je vous dis
        • Partager sur Facebook
        • Partager sur Twitter

        vérification en base sur 4 variables d'un form

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown