Vérification php formulaire de contact

Fermé
Lenor - 25 janv. 2015 à 19:23
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 - 6 févr. 2015 à 09:41
Bonsoir,

j'ai une page html qui comporte un formulaire de contact dont l'action redirige vers un fichier php qui permet de vérifier le contenu des variables côté client. Je voudrais que mon fichier php fasse le traitement en arrière plan (lorsque l'on clique sur submit) tout en restant sur la page de contact html qui avertirait uniquement que le mail a bien été envoyé.

Comment faire cela?

Merci
A voir également:

3 réponses

Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
30 janv. 2015 à 10:49
Une seule solution, si tu ne veux pas de rechargement de la page ... enfin disons 2 solutions qui utilise le même langage.

JavaScript ...

Solution 1 : Une requête Ajax vers ta page php de contrôle, un callback, et une modification du DOM de ta page HTML ...

Solution 2 : Ton formulaire envoi sur une iframe invisible, et gràce à JavaScript encore une fois, tu récupères l'information dans ta frame pour l'indiquer sur ta page HTML.

Exemple de fonction JavaScript que j'utilise pour faire une requête Ajax :

function ajax(url) { 
var xhr = new getXMLHttpRequest();
xhr.onreadystatechange = function() {
      if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
         var response = xhr.responseText; // Données textuelles récupérées
      }
      };
xhr.open("GET", url); 
xhr.send(null);

}


Dans ton cas c'est plus du POST que du GET que tu devrais utiliser, mais bon c'est un bon exemple de départ.
0
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
2 févr. 2015 à 17:41
Il n'y a même pas besoin d'AJAX dans ce cas là. Il te suffit de vérifier tes champs de formulaire directement via javascript. Donc il faut que lorsque tu soumets ton formulaire, au lieu de l'envoyer ça appelle une fonction qui vérifie les champs. Si tout est okay alors là oui tu soumets, sinon tu mets en rouge par exemple.
0
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
Modifié par Xavierdu34 le 3/02/2015 à 19:18
Tu ne réponds pas vraiment à la question, et tu oublies surtout de préciser, que si tu fais une vérification en JavaScript, il faut aussi faire la vérification en PhP lors de la soumission.

Une vérification en JavaScript n'est pas un moyen fiable, c'est uniquement client et il est extrêmement facile de contourner ce genre de vérification.

Et comme il stipule vouloir faire la vérification avec php ... c'est la solution Ajax qui permet de vérifier en temps réel, lors de la soumission et en utilisant son fichier de traitement ^^
0
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
5 févr. 2015 à 16:13
Oui c'est vrai, et il demandait pour le faire via php mais c'était une autre façon d'arriver au même but donc ça répond quand même. Par contre je ne comprend pas pourquoi tu dis "il faut aussi faire la vérification en PhP lors de la soumission."? Pour éviter de contourner?
0
Xavierdu34 Messages postés 216 Date d'inscription lundi 2 décembre 2013 Statut Membre Dernière intervention 10 octobre 2016 21
Modifié par Xavierdu34 le 6/02/2015 à 09:42
Parce que lorsqu'il s'agit de traiter des données, il faut toujours au minimum, faire une vérification des données coté serveur, coté client, c'est un bonus pour la réactivité, l'ergonomie etc .. mais d'un point de vue sécurité c'est le coté serveur qui est important.
0
Mazamazine Messages postés 81 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 10 février 2015 13
2 févr. 2015 à 17:50
Exemple de formulaire:

<form action="page_de_traitement.php" method="post" id="myform">
Nom: <input type="text" name="nom" id="champs_nom">
<input type="button" value="Envoyer" onClick="checkForm()">
</form>


Et côté javascript:

function checkForm() {
nom = document.getElementById('champs_nom').value;
// Si le champs est vide (ou n'importe quoi d'autre) on arrête
if(!nom) return;
// Si tout va bien on soumet le formulaire
else document.getElementById("myform").submit();
}

0