Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2011, 20h55   #1
Membre du Club
 
kiddy asp
Inscription : avril 2010
Messages : 180
Détails du profil
Informations personnelles :
Nom : kiddy asp

Informations forums :
Inscription : avril 2010
Messages : 180
Points : 49
Points : 49
Par défaut filtres/contrôle sur le même email

Bonjour,


J'ai fait un formulaire et j'ai mis certains filtres/contrôle sur quelques champs à remplir avec le JavaScript...

Tout marche bien...
Code :
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
 
function check()...
 
if (document.FormToto.nom.value=="")
	{
		alert("ECRIVEZ VOTRE NOM S\'IL VOUS PLAIT !");
		return false;
 
//....
 
	if (document.FormToto.annee6.checked)
		{
		   v_compte = v_compte + 1;
		}
 
	  if (v_compte == 0 )
		{
			alert("VEUILLEZ CHOISIR AU MOINS UN MAGAZINE S\'IL VOUS PLAIT !");
			return false;
		}
			if (v_compte >> 1 )
		{
			alert("VEUILLEZ CHOISIR MAX. UN MAGAZINE S\'IL VOUS PLAIT !");
			return false;
		}
 
//etc...
Voici ma question : comment je peux mettre un contrôle/filtre en contrôlant les emails : si un utilisateur a rempli le formulaire avec un email, une deuxième fois, un utilisateur qui a le même email ne puisse pas remplir et l'envoyer ?

Un message s’afficherait : ce courriel a déjà été saisi, vous ne pouvez pas envoyer le formulaire par le même email.
aspkiddy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 22h23   #2
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
>>> Pour controler la validité formelle de l'email, c'est un long débat à base de regexp... (une petite recherche t'en convaincra ^^)

>>> Pour empêcher la création d'un email existant : un appel AJAX vers ton serveur qui requête la BDD, teste l'existence de cet email et renvoie une réponse pour mettre à jour le client.

(remarque : ne pas confondre ">" (opérateur de comparaison numérique) et ">>" (opérateur binaire)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 22h32   #3
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Bonsoir !
JavaScript seul ne suffit pas à savoir si l'email a déjà été utilisé. Comme le suggère ce cher Romain, une requête Ajax vers le serveur est une bonne idée. Ou bien simplement faire la vérification côté serveur, après l'envoi du formulaire.
Ah oui, il y a une autre solution… Les cookies… Mais je n'aime pas ça, je les mentionne juste par principe.

Quelques remarques en passant : les majuscules, c'est un peu agressif :/
Et puis le if (v_compte >> 1 ), c'est voulu ? Parce que ça fait la même chose que if (v_compte > 1), mais c'est peut-être une coïncidence…

__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 16h10   #4
Membre du Club
 
kiddy asp
Inscription : avril 2010
Messages : 180
Détails du profil
Informations personnelles :
Nom : kiddy asp

Informations forums :
Inscription : avril 2010
Messages : 180
Points : 49
Points : 49
Bonjour RomainVALERI et Watilin,

À propos d'opérateur, vous avez raison, et la meilleure solution :

Code :
1
2
3
4
5
 if (v_compte != 1 )
      {
         alert("VEUILLEZ CHOISIR UN UNIQUE MAGAZINE S\'IL VOUS PLAIT !");
         return false;
      }
À propos des majuscules..., j'utilise toujours en majuscules mes alertes sous JavaScript pour éviter d'utiliser les accents parce qu’avec JavaScript, les accents ne marchent pas du tout...



C’est vrai que j'ai un bd de MySql...

Alors, comment je peux faire pour que cela marche :

1er écran, mon formulaire...
Je fais les vérifications avec JavaScript si c'est bon j'amène les informations (par Post) à 2e page où j'envoie une requête qui va vérifier si l'email existe ou pas dans MySql.

S'il existe j'affiche le message*: désolé, etc. s'il n'existe pas, c'est l'écriture des informations dans mon BD mySql et j'affiche le message*: Merci pour votre inscription, etc.

Est-ce que c'est ce
aspkiddy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 16h36   #5
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
Citation:
Envoyé par aspkiddy Voir le message
À propos des majuscules..., j'utilise toujours en majuscules mes alertes sous JavaScript pour éviter d'utiliser les accents parce qu’avec JavaScript, les accents ne marchent pas du tout...

Code :
alert("Je ne suis pas tout-à-fait d'accord avec toi... ^^");
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 17h05   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 018
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 018
Points : 45 108
Points : 45 108
Citation:
parce qu’avec JavaScript, les accents ne marchent pas du tout...
Quand on maitrise pas les charset ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 17h51   #7
Membre du Club
 
kiddy asp
Inscription : avril 2010
Messages : 180
Détails du profil
Informations personnelles :
Nom : kiddy asp

Informations forums :
Inscription : avril 2010
Messages : 180
Points : 49
Points : 49
pourtant dans mon code en php :


Code :
1
2
3
<?php
header('Content-Type: text/html; charset=UTF-8');
?>

charset=UTF-8
charset=UTF-8
charset=UTF-8

... ensuite avec :
Code :
1
2
alert("Je ne suis pas tout-à-fait d'accord avec toi... ^^");
		return false;
je vois :

Citation:
Je ne suis pas tout-�-fait d'accord avec toi... ^^
aspkiddy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 19h53   #8
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 572
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 572
Points : 4 074
Points : 4 074
...j'imagine que l'extrait que tu cites avec l'alert est en réalité placé dans un echo de ton php...

>>> fais le test de l'alert directement dans firebug (ou dans un fichier JS externe appelé depuis le head de la page) tu verras que JS n'y est pour rien ^^
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 20h27   #9
Membre du Club
 
kiddy asp
Inscription : avril 2010
Messages : 180
Détails du profil
Informations personnelles :
Nom : kiddy asp

Informations forums :
Inscription : avril 2010
Messages : 180
Points : 49
Points : 49
évidement charset=utf-8


Code :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
aspkiddy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 22h43   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 018
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 018
Points : 45 108
Points : 45 108
la balise met ne préjuge pas de l'encodage même du fichier, ni du charset délivré pas le serveur ...
un peu de lecture ...
http://j-willette.developpez.com/tut...-site-en-utf8/
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 17h34   #11
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
J'aimerais rajouter que, selon les règles de la typographie française, on doit mettre des accents même sur les majuscules
Code JS :
alert('ÉCRIVEZ VOTRE NOM S’IL-VOUS-PLAÎT !')
Ou alors :
Code JS :
alert('\xc9CRIVEZ VOTRE NOM S\u2019IL-VOUS-PLA\xceT\xa0!')
Yerk
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h53.


 
 
 
 
Partenaires

Hébergement Web