Coupler la validation d'un formulaire client/serveur

Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

ouaich_01
WRInaute discret
WRInaute discret
 
Messages: 225
Enregistré le: 28 Sep 2006

Coupler la validation d'un formulaire client/serveur

Message le Lun Avr 30, 2007 22:48

Bonjour ou plutôt bonsoir

Comme beaucoup d'entres vous, j'utilise des formulaires sur mon site.

J'aimerais faire en sorte de pouvoir valider mes champs de formulaires avant l'envoi par un javascript (coté client) en plus d'un controle coté serveur (php)

Mes formulaires sont déjà gérés par une page "envoi.php", qui vérifie que certains champs soient remplis, mais sans conditions (format email ou téléphone) ce qui fait léger.

J'aimerais renforcer ce contrôle coté serveur, et utiliser du javascript en parallèle (sous forme de popup = 'alert')

La javascript je connait pas trop et j'ai trouvé plein de codes à essayer, mais aucun ne marche (plutot ne fonctionne ;-) )

Je ne dois pas employer la bonne méthode. Est ce un problème d'associer deux validations ?


D'avance, merci à vous


sonikbuzz
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 469
Enregistré le: 21 Fév 2005

Re: Coupler la validation d'un formulaire client/serveur

Message le Mar Mai 01, 2007 1:18

ouaich_01 a écrit:Mes formulaires sont déjà gérés par une page "envoi.php", qui vérifie que certains champs soient remplis, mais sans conditions (format email ou téléphone) ce qui fait léger.
J'aimerais renforcer ce contrôle coté serveur, et utiliser du javascript en parallèle (sous forme de popup = 'alert')
La javascript je connait pas trop et j'ai trouvé plein de codes à essayer, mais aucun ne marche (plutot ne fonctionne ;-) )
Je ne dois pas employer la bonne méthode. Est ce un problème d'associer deux validations ?
D'avance, merci à vous

Salut,
Non c'est pas un problème, il est de coutume de verifier la sécu côté serveur et l'ergo côté client ...
Mais tu peux aussi verifier format email ou téléphone côté serveur, d'ailleurs c'est plus robuste.
Un exemple de ce qui ne fonctionne pas :?:

ouaich_01
WRInaute discret
WRInaute discret
 
Messages: 225
Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 1:38

Salut sonikbuzz

couche tard aussi ? :lol:

merci à toi, voici mes 3 bouts de codes (php, javascript, balise form)

php :
<?
if (isset($_SESSION["message"]) && ($_SESSION["message"] != ""))
{
echo('<span class="Style3">Attention !</span> <br /><strong>' . $_SESSION[message] . '</strong>');
unset($_SESSION[message]);
}
else
{
if (isset($_SESSION["repmail"]) && ($_SESSION["repmail"] != ""))
{
echo("<strong>" . $_SESSION[repmail] . "</strong>");
unset($_SESSION[repmail]);
}
}
?>


Mon javascript :
<script type="text/javascript">

function validation()
{

if(document.form_contact.Nom.value == "")
{
alert ('veuillez entrer votre Nom');

return false;
}

else if(document.form_contact.PreNom.value == "")
{
alert ('veuillez entrer votre PreNom');

return false;
}

var email = document.form_contact.email.value;
else if (email.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1)
{
alert ('entrez une adresse Email valide');

return false;
}

else if(document.form_contact.votre_message.value == "")
{
alert ('veuillez entrer votre message');

return false;
}

else return true
{

document.form_contact.method = "POST";
document.form_contact.action = "envoi-contact.php";
document.form_contact.submit();

}
}
</script>


ma balise form :

<form id="form_contact" method="post" onsubmit="return validation(this)" action="envoi-contact.php" >


Y a t-il un emplacement pour chacun d'eux ?

Merci et...... bonne nuit !

(moi j'y vais, j'ai le cerveau qui fume à cette heure ci je pense que je vais en rever du javascript :P )


Mumuri
WRInaute passionné
WRInaute passionné
 
Messages: 1800
Enregistré le: 3 Nov 2004

Message le Mar Mai 01, 2007 2:20

a priori non ,

mais je dirais plutot un onsubmit="javascript:validation(this);"

bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4218
Enregistré le: 27 Déc 2004

Message le Mar Mai 01, 2007 9:33

Code: Tout sélectionner
if (isset($_SESSION["message"]) && ($_SESSION["message"] != ""))

pourquoi ne pas faire plus court comme ca :
Code: Tout sélectionner
 if (!empty ($_SESSION["message"]))
:?:

ouaich_01
WRInaute discret
WRInaute discret
 
Messages: 225
Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 11:05

Mumuri a écrit:a priori non ,

mais je dirais plutot un onsubmit="javascript:validation(this);"


Pourtant dans tous les exemples que j'ai lu, il parle bien de onsubmit= "return validation (this)"

Mais je vais essayer onsubmit="javascript:validation(this) !

Code:
if (isset($_SESSION["message"]) && ($_SESSION["message"] != ""))

pourquoi ne pas faire plus court comme ca :
Code:
if (!empty ($_SESSION["message"]))


Désolé mais le langage php je ne le connait pas plus que le javascript. c'est mon ami programmeur qui est à l'origine de ce code.

Quel avantage j'ai de faire plus court avec ton exemple ?

Merci à vous pour vos exemples

bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4218
Enregistré le: 27 Déc 2004

Message le Mar Mai 01, 2007 11:13

coder + court = coder - = +rapide = possibilité de dev d'autre trucs (par ex: tu peux coder deux classes au lieu d'une quand tu code plus vite, enfin ca me semble logique mm si pas vrai a 100%)
Dans ce cas précis tu met (isset(mavariable) et mavariable !='') en francais : est ce que ma variable est remplie, et n'est-elle pas vide => le mieux est donc de directement demandé !empty(mavariable) : est-ce que mavariable n'est pas vide (donc remplie).
Capiche? :D

ouaich_01
WRInaute discret
WRInaute discret
 
Messages: 225
Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 11:28

Je viens d'essayer onsubmit="javascript:validation(this);" mais ca ne marche pas non plus... :(

En fait rien ne se passe, lors d'un envoi par le bouton envoyer du formulaire vide, c'est php joue son rôle mais pas le javascript.

Comment faire ?
Mon code javascript est-il correct ?

Sinon, pour faire revenir le visiteur sur la ligne du champ vide qui a généré l'erreur, et garder les champs 'correct" pour lui éviter de tout retaper, c'est javascript ou php qui intervient ?

ouaich_01
WRInaute discret
WRInaute discret
 
Messages: 225
Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 11:30

Dans ce cas précis tu met (isset(mavariable) et mavariable !='') en francais : est ce que ma variable est remplie, et n'est-elle pas vide => le mieux est donc de directement demandé !empty(mavariable) : est-ce que mavariable n'est pas vide (donc remplie).

Capiche? Very Happy


Capiche ? Euhhhhh :lol:

Je peux modifier ca sans avoir à modifié ma page "envoi.php" ?

bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4218
Enregistré le: 27 Déc 2004

Message le Mar Mai 01, 2007 12:27

Sinon, pour faire revenir le visiteur sur la ligne du champ vide qui a généré l'erreur, et garder les champs 'correct" pour lui éviter de tout retaper, c'est javascript ou php qui intervient ?


ben tout dépend où interviens l'erreur..
moi en général c'est avec php que je raffiche le formulaire et les champs déja remplis ne présentant pas d'erreur.
pour les modifs php ca ne changera rien a ton problème donc pas necessaire, c'est juste 'mieux codé' c'est tout.[/code]

gjpeg
WRInaute discret
WRInaute discret
 
Messages: 99
Enregistré le: 6 Déc 2006

ok

Message le Mar Mai 01, 2007 13:22

coder + court = coder - = +rapide = possibilité de dev d'autre trucs


ne pas oublier le commentaire car

coder + court = TMA plus longue = argent perdu.
Pensez aux prochains développeurs qui repasseront derriere vos lignes de code.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 4566
Enregistré le: 16 Nov 2004

Re: ok

Message le Mar Mai 01, 2007 13:39

USA Mike a écrit:Pensez aux prochains développeurs qui repasseront derriere vos lignes de code.


Ils viennent quand ?

je :arrow: []

ouaich_01
WRInaute discret
WRInaute discret
 
Messages: 225
Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 13:57

J'ai pas compris grand chose en tous cas.

D'une, mon script javascript ne fonctionne pas.

De deux, mon controle php est trop simple.

:cry:

bproductiv
WRInaute accro
WRInaute accro
 
Messages: 4218
Enregistré le: 27 Déc 2004

Message le Mer Mai 02, 2007 7:35

pas de bol :|


Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :