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

Messages: 225

Enregistré le: 28 Sep 2006

Message le Lun Avr 30, 2007 23: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
Haut
13 Réponses
Messages: 469

Enregistré le: 21 Fév 2005

Message le Mar Mai 01, 2007 2: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 :?:
Haut
Messages: 225

Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 2: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 )
Haut
Messages: 1800

Enregistré le: 3 Nov 2004

Message le Mar Mai 01, 2007 3:20

a priori non ,

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

Enregistré le: 27 Déc 2004

Message le Mar Mai 01, 2007 10: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"]))
:?:
Haut
Messages: 225

Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 12: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
Haut
Messages: 4218

Enregistré le: 27 Déc 2004

Message le Mar Mai 01, 2007 12: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
Haut
Messages: 225

Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 12: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 ?
Haut
Messages: 225

Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 12: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" ?
Haut
Messages: 4218

Enregistré le: 27 Déc 2004

Message le Mar Mai 01, 2007 13: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]
Haut
Messages: 99

Enregistré le: 6 Déc 2006

Message le Mar Mai 01, 2007 14:22

ok

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.
Haut
Messages: 4566

Enregistré le: 16 Nov 2004

Message le Mar Mai 01, 2007 14:39

Re: ok

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


Ils viennent quand ?

je :arrow: []
Haut
Messages: 225

Enregistré le: 28 Sep 2006

Message le Mar Mai 01, 2007 14: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:
Haut
Messages: 4218

Enregistré le: 27 Déc 2004

Message le Mer Mai 02, 2007 8:35

pas de bol :|
Haut

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.