Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme formulaires PHP

4 réponses
Avatar
Delf
J'ai un gros souci avec les formulaires.
Je souhaite faire une page PHP presentant un formulaire.
1. On rempli les champs.
2. On valide en cliquant sur (Aller étape 2). Le systeme verifie la validite
des champs
2 a. Si une donnée n'est pas valide, on peut modifier les donnees
precedemment entrees
2 b. Si tout est valide, on grise tous les champs avec leur donnees a
l'interieur et on affiche la suite du formulaire.
Et ainsi de suite.
Est ce que qq'un aurait un site interessant ?
Merci d'avance.

--
Delf

4 réponses

Avatar
Antoun
tout ça se fait sur le navigateur, donc en JavaScript et pas en PHP.
Avatar
Michel Belleau (malaiwah.com)
On 15 Apr 2004 20:41:03 GMT, "Delf" wrote:

Est ce que qq'un aurait un site interessant ?


Ta validation devrait se faire en Javascript, directement sur le
navigateur du visiteur.

Un site intéressant? Ils expliquent la base... (en anglais, mais le
code est facile à comprendre)

http://www.4guysfromrolla.com/webtech/091998-1.shtml

---
Michel Belleau
Services Informatiques MALAIWAH.COM [http://www.malaiwah.com/]

Avatar
Delf
"Antoun" a écrit dans le message news:

tout ça se fait sur le navigateur, donc en JavaScript et pas en PHP.


J'ai trouvé ceci:
http://developpeur.journaldunet.com/tutoriel/dht/040206_conserver_variables.
shtml
Mais ca m'affiche toutes les variables dans l'url...

--
Delf

Avatar
Missions courtes
Bonjour,
L'exemple que tu donnes sur le site :
http://developpeur.journaldunet.com/tutoriel/dht/040206_conserver_variables.
est très bien fait, mais il décrit le passages de valeurs entre 2 fenêtres
indépendantes.

Voici ci-dessous une solution que j'ai trouvée le 6 février 2004 sur le site
:
//
http://webmaster.lycos.fr/topics/technic/javascript/javascript-workshop3
Malheureusement, cette page n'existe plus.
Je mets donc dessous, ssans aucune garantie, ce que j'avais copié ce jour là
Cordialement.
Michel FOUILLADE
Administrateur de :
http://www.missions-courtes.com/

**************************************************************

// Contrôle du formulaire :


JavaScript : Vérifier le contenu d'un formulaire[ Sommaire ]Claude Levior

Et si on faisait un formulaire ?

Imaginons que vous souhaitez proposer sur votre site un système
d'inscription à votre lettre d'info mensuelle. Vous créerez donc un
formulaire simplement composé d'un champ Nom et d'un champ Adresse. Pour ne
pas recevoir de messages inexploitables, nous allons mettre en place un
contrôle de saisie sur le nom et sur l'adresse de courrier électronique.

Notre script se compose de deux parties. La première est une fonction sur
laquelle nous reviendrons plus tard. Commençons par créer notre formulaire
HTML. Placez pour cela les lignes suivantes dans votre code HTML, à
l'endroit où vous souhaitez le voir apparaître :

<H2>Recevez la newsletter du site !</H2>
<FORM ACTION= "/cgi-bin/mailer" Method=GET
onSubmit="return Verif(this.form)">
<B>Nom : </B>
<INPUT TYPE="text" NAME="nom" SIZE& MAXLENGTH@ >
<BR><BR>
<B>E-mail : </B>
<INPUT TYPE="text" NAME="mail" SIZE& MAXLENGTH@ >
<BR><BR><BR>
<INPUT TYPE="submit" VALUE="Test">
<INPUT TYPE="reset" VALUE="Effacer">
</FORM>

Notez que nous avons inséré une instruction JavaScript dans la balise <FORM>
:

onSubmit="return Verif(this.form)".

Cela signifie que le contenu du formulaire, c'est-à-dire les informations
saisies par l'utilisateur, seront systématiquement vérifiées par la fonction
Verif avant d'être envoyées au serveur. Créons donc cette fonction de
contrôle.




Une fonction policière

Commencez par placer la fonction Verif à l'intérieur du couple de balises
<HEAD> et </HEAD> de votre page :

1: <SCRIPT>
2: function Verif()
3: {
4: if (document.forms[0].elements[0].value == ""){
5: alert("nLe champ Nom est obligatoire.nn" +
6: "Indiquez votre nom.")
7: document.forms[0].elements[0].focus();
8: return false;
9: }
10:
11: else if (document.forms[0].elements[1].value == ""){
12: alert("nLe champ E-mail est obligatoire.nn" +
13: "Indiquez votre adresse e-mail.")
14: document.forms[0].elements[1].focus();
15: return false;
16: }
17:
18: else if (document.forms[0].elements[1].value.indexOf
('@',0)
19: == -1 || document.forms[0].elements[1].value.indexOf
('.',0)
20: == -1){
21: alert("nUne adresse e-mail contient " +
22: "obligatoirement les signes "@" et ".".nn" +
23: "Entrez correctement votre adresse.")
24: document.forms[0].elements[1].select();
25: document.forms[0].elements[1].focus();
26: return false;
27: }
28: else
29: return true;
30: }
31:
32: </SCRIPT>


Méfiez-vous des chiffres ! Nous avons numéroté les lignes du script afin
d'en faciliter la description. Mais méfiez-vous des chiffres... le script ne
fonctionnera pas si vous conservez cette numérotation. Pour recopier un
listing valide, accédez à cette page.





Mais que fait la police ?

La fonction Verif examine le contenu des deux champs du formulaire. Dans un
premier temps (lignes 4 à 9), elle vérifie que le champ Nom a bien été
rempli. S'il est vide, les instructions conditionnelles (comprises entre les
accolades) sont exécutées : une boîte de dialogue de type Alert est affichée
à l'attention de l'utilisateur.

L'instruction de la ligne 7 place le curseur dans le champ correspondant (on
parle de passer le "focus") pour que l'internaute puisse saisir
immédiatement son nom. Très utile lorsque vous proposez un formulaire
composé de nombreux champs à remplir puisque l'utilisateur n'aura pas à les
retrouver lui-même pour les compléter.

Notez enfin, qu'à ce stade, la fonction retourne false (ligne 8). Dès lors,
aucune donnée n'est envoyée vers le serveur.


Alerte ! Pour mettre en forme un message dans une boîte de dialogue de type
Alert, utilisez le code n qui permet de passer à la ligne et d'aérer ainsi
votre texte.

Dans le cas où le champ Nom a été informé, la fonction Verif passe alors à
la seconde étape : vérifier que le champ de l'adresse e-mail a été renseigné
(lignes 11 à 16).

Une seule véritable différence avec le contrôle du premier champ :
elements[1] indique que nous nous référons cette fois au second champ (le
premier portant pour valeur d'index 0).




Contrôler que l'adresse saisie est conforme

Vérifier qu'un champ a bien été rempli c'est bien, mais contrôler la
validité de la saisie, c'est encore mieux. Une adresse e-mail contient
toujours les signes '@' et un point. C'est ce que contrôlent les
instructions des lignes 18 à 27.

Les instructions indexOf ('@',0) et indexOf ('.',0) retournent -1 si
l'utilisateur a omis, dans son adresse, le signe "@" ou ".". Dans ce cas, un
message est affiché à l'attention de l'utilisateur et le focus est passé au
champ coupable.

Notez l'utilisation du double pipe (||) pour introduire une alternative
(condition 1 ou condition 2).


Caractères réservés. Si vous souhaitez afficher dans un message un signe
réservé par la langage JavaScript, il suffit de le faire précéder par le
caractère . C'est le cas ici pour les guillemets (ligne 22).

Ligne 24, la fonction select permet de sélectionner automatiquement, une
fois que l'utilisateur a validé par OK le message d'erreur, l'adresse saisie
par l'utilisateur.

Une fois que l'internaute a rempli convenablement le formulaire, la clause
else de la ligne 28 est exécutée et la fonction Verif retourne la valeur
true. Cette valeur est instantanément récupérée par l'instruction onSubmit
de notre formulaire qui autorise ainsi la transmission des données vers le
serveur.


Le mot de la fin. Vous avez appris au cours de cet article à contrôler les
champs Nom et Adresse d'un formulaire, vous pouvez évidemment appliquer
cette procédure à des formulaires plus complexes pour contrôler tout type
d'informations.