Bonjour, alors voilà je voudrais inclure dans mon formulaire un petit texte qui apparait lorsque l'email n'est pas valide, sans que la personne est tout à retaper (champs de saisie conserver)

exemple de ce que je veux www.artikcode.fr (essayer de rentrer un mail non valide)

voilà mon formulaire


 <!-- FORMULAIRE -->
		
		
        <div id="formulaire">       
			<form method="post" action="traitement.php">
			<div id="formulairerub1">
            	<p class="formulairetitre">Vous souhaitez* :</p>
                <div class="formulairechoix">
                    <input type="radio" value="Nous parler de votre projet" name="souhait" id="souhait" required ><span class="formulairetexte">Nous parler de votre projet</span>
                    <input type="radio" value="Demander conseil" name="souhait" id="souhait"><span class="formulairetexte">Demander conseil</span>
                    <input type="radio" value="Obtenir un devis" name="souhait" id="souhait"><span class="formulairetexte">Obtenir un devis</span>
                    <input type="radio" value="Fixer un rendez-vous" name="souhait" id="souhait"><span class="formulairetexte">Fixer un rendez-vous</span>
                    <input type="radio" value="Dire bonjour !" name="souhait" id="souhait"><span class="formulairetexte">Dire bonjour !</span>
				</div>
            </div>
			<div id="formulairerub2">
            	<p class="formulairetitre">Votre activité en 2 mots :</p>
                <div class="formulairechoix">
                    <input type="radio" value="Entreprise" name="activite"><span class="formulairetexte">Entreprise</span>
                    <input type="radio" value="Collectivité" name="activite"><span class="formulairetexte">Collectivité</span>
                    <input type="radio" value="Association" name="activite"><span class="formulairetexte">Association</span>
                    <input type="radio" value="Profession libérale" name="activite"><span class="formulairetexte">Profession libérale</span>
                    <input type="radio" value="Indépendant" name="activite"><span class="formulairetexte">Indépendant</span>
                    <input type="radio" value="Particulier" name="activite"><span class="formulairetexte">Particulier</span>
                    <input type="radio" value="Autre" name="activite"><span class="formulairetexte">Autre</span>
                </div>
                <div id="champsactivite">
					<input class="champsactnom inputtexte" type="text" name="nomentreprise" placeholder="Son nom" />
					<input class="champsactfonction inputtexte" type="text" name="fonction" placeholder="Votre fonction" />
				</div>
			</div>
            <div id="formulairerub3">
            	<p class="formulairetitre">Indiquez-nous :</p>
				<div id="champsindiquez1">
                	<input class="champsindiq inputtexte" type="text" id='prenom' name='prenom' required placeholder="Votre prénom*" />
                    <input class="champsindiq inputtexte" type="text" id='nom' name='nom' required placeholder="Votre nom*" />
                    <input class="champsindiq inputtexte" type="text" id='mail' name='mail' required placeholder="Votre e-mail*" />
                    <input class="champsindiq inputtexte" type="text" id='telephone' name='telephone' placeholder="Votre téléphone" />
                </div>
                <div id="champsindiquez2">
                	<textarea class="champsindiqmessage inputtexte" name="message" id="message" cols="40" rows="6" required placeholder="Votre message*"></textarea>
                </div>
            </div>
				<input type="submit" class="formulaireenvoyer" value="Envoyer" name="submit" />
            </form>
			<p class="formulairemention">*Champs obligatoires</p>
		</div>  
        <!-- FIN FORMULAIRE -->



et voilà ma page de traitement php


<?php

$email=$_POST['mail'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$demande=$_POST['message'];
$tel=$_POST['telephone'];
$activite=$_POST['activite'];
$noment=$_POST['nomentreprise'];
$fonction=$_POST['fonction'];
$souhait=$_POST['souhait'];

// adresse de réception de la demande
$destinataire='mblaurent@gmail.com';
$sujet=$prenom;


// entete du mail
$message="Message de la part de :\n".$prenom."\n".$nom."\n".$email."\n".$tel."\n\n Vous souhaitez :".$souhait."\n\n\n Votre activité en deux mots :".$activite."\n Son nom :".$noment."\n Votre fonction :".$fonction."\n\n\n Contenu du message :\n".$demande ;
$headers ='From: "Client Supernova"<Supernova>'."\n"; 
$headers .='Content-Type: text/plain; charset=utf-8'."\n";
$headers .='Content-Transfer-Encoding: 8bit';


// verification de la syntaxe de l'adresse saisie dans le formulaire
$Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';



if (preg_match($Syntaxe , $_POST['mail'])){
	if(mail($destinataire, $sujet, $message, $headers)){
		header('Location: test.php');
	}else{ 
		header('Location: 404.php');
	}
}else{
	header('Location: 404.php');
}



?>



merci par avance si vous avez une idée
salut,
bin tu passes tout simplement par JavaScript. Tu reprends ton expression régulière et tu l'appliques sur un évènement "onchange" par exemple de l'input concerné.
ok je te remercie pour ta réponse rapide mais il se trouve que je suis parfaitement nul en js à part 2, 3 fonctions et le php je connais mal, donc si tu pouvais être plus précis ça m'aiderait Smiley cligne merci
Autant pour moi, je vais être plus précis
Zelalsan a écrit :

bin tu passes tout simplement par JavaScript. Tu reprends ton expression régulière et tu l'appliques sur un évènement"onchange" par exemple de l'input concerné.

Smiley cligne
Modérateur
Hum.....


<input name="mail" type="email" required> <!-- doctype html 5 bien sûr -->

Modifié par niuxe (15 Sep 2014 - 22:16)
usernotfound a écrit :
merci niuxe, ça me parait une bonne alternative, car je ne comprends rien à ce qu'il raconte l'autre Smiley sweatdrop

En restant courtois, ce n'est pas plus mal Smiley cligne
Zelalsan a écrit :
Oui... Toujours aussi fasciné par ce genre de gens...
Bon je reste zen, je sors.

Smiley jap
En restant zen, tu peux rester Smiley cligne
usernotfound a écrit :
merci niuxe, ça me parait une bonne alternative, car je ne comprends rien à ce qu'il raconte l'autre Smiley sweatdrop


deja "l'autre" il a un pseudo. et "l'autre" a pris du temps pour te répondre..

Si tu ne comprend rien en JS ou en PHP, n'en fait pas. ou alors (regles d'or) APPREND. il te parle d'expression régulière, celle que tu as faite (ou copier coller), GOOGLE est ton ami, va voir ce que c'est!
Il te parle de JS et d’événement 'onchange', GOOGLE est ton ami j'ai envie de répéter.. Si tu es si peu content que des gens t'aide, ne postule pas.
6l20 a écrit :

Smiley jap
En restant zen, tu peux rester Smiley cligne

Oui Smiley biggrin mais ça ne m'intéresse pas plus, j'ai gagné en maturité Smiley jap .
Je grandis Sylvain, je grandis Smiley jap
Modérateur
Zelalsan a écrit :

Oui Smiley biggrin mais ça ne m'intéresse pas plus, j'ai gagné en maturité Smiley jap .
Je grandis Sylvain, je grandis Smiley jap



Tu connais Casimir toi aussi ? Smiley biggol
_laurent a écrit :

Tu connais Casimir toi aussi ? Smiley biggol

Toi, tu frises la correctionnelle... Smiley fache Smiley cligne
Oh la vous vous excitez pour rien là, j'ai dit "l'autre" parce que je me souvenais pas de son pseudo, cest tout.
Apres cest marrant de voir que j'ai eu plus de reaction en disant qu'en postant mon problème technique...
Je remercie tout de même ceux qui ont cherché a m'aider, quant a ceux qui font la morale eh bien...
JENCAL il s'agit d'un forum d'entraide non? T'imagines bien que j'ai cherché sur Google avant de poster ici, non? Donc tes remarques n'ont aucun sens, on m'apporte une reponse que je ne comprends pas, je demande plus de precision (genre un exemple), bon le gars veut pas, il estime certainement que sa reponse est parfaite, ok moi je passe a autre chose.
Tu dis "si tu comprends rien a php ou js n'en fait pas"... t'es debile? t'as jamais débuté? t'as la science infuse? On a le droit d'apprendre oubien ça gêne monsieur le redresseur de tort? Arretez donc de juger les autres ou de peter plus haut que votre cul parce que vous vous savez des trucs.. moi j'aide des gens sur les forums autocad parce que je suis formateur autocad, et je peux te dire que je parle pas comme ça aux gens qui veulent apprendre, t'as rien compris aux communautés d'entraide et aux forums mon pov garçon...
usernotfound a écrit :
JENCAL il s'agit d'un forum d'entraide non? T'imagines bien que j'ai cherché sur Google avant de poster ici, non? Donc tes remarques n'ont aucun sens, on m'apporte une reponse que je ne comprends pas, je demande plus de precision (genre un exemple), bon le gars veut pas

Au moins tu t'es rappelé de mon pseudo... et j'imagine pas que tu as chercher sur Google, car sa réponse est très simple... vraiment très simple alors si tu comprend pas sa réponse.. moi j'aurai abandonné.
usernotfound a écrit :
t'es debile? t'as jamais débuté? t'as la science infuse? On a le droit d'apprendre oubien ça gêne monsieur le redresseur de tort? Arretez donc de juger les autres ou de peter plus haut que votre cul parce que vous vous savez des trucs..

je vois pas où je te juge ?
usernotfound a écrit :
j'aide des gens sur les forums autocad parce que je suis formateur autocad, et je peux te dire que je parle pas comme ça aux gens qui veulent apprendre,

c'est bien, moi j'aide les gens sur les forums ici. mais quant on a deux réponse, et qu'on se souvient que d'une personne. ça fait très négligent.
usernotfound a écrit :
t'as rien compris aux communautés d'entraide et aux forums mon pov garçon...

la c'est toi qui juge.


sur ceux, je répète que sa réponse été simple il suffisait de tapé la chose sur google pour avoir un exemple simple et le fait de dire l'autre j'ai eu l'impression que tu le rabaisser parce qu'il voulait pas te donner les 'liens' de google. bref, on s’éloigne de ton sujet.
Modifié par JENCAL (16 Sep 2014 - 14:53)
en effet on s’éloigne du sujet, on va pas débattre des heures.
finalement je vais suivre la solution de niuxe.. ceci dit j'aurais aimé comprendre comment le faire en js/php... j'ai cherché pour le onchange mais je n'ai pas saisi comment l'appliquer, si qqun a un exemple je suis preneur
Modérateur
usernotfound a écrit :
en effet on s’éloigne du sujet, on va pas débattre des heures.
finalement je vais suivre la solution de niuxe.. ceci dit j'aurais aimé comprendre comment le faire en js/php... j'ai cherché pour le onchange mais je n'ai pas saisi comment l'appliquer, si qqun a un exemple je suis preneur


Salut,

il y a eu de l'animation à ce que j'ai "entre lu". J'avoue que tu as fait une entrée un peu maladroite.

Que tu ne saches pas le faire en JS, c'est pas si grave puisque je t'ai donné une solution annexe. Cependant, j'attire ton attention sur le fait que l'input email n'est pas compatible sur tous les browsers (fait des recherches si tu veux à ce sujet). Ce n'est pas grave puisque de toute manière il faille faire une vérification obligatoire des données sur le serveur (php / java / .not / Cb / Python / etc.). La verfification front (html / js / etc.), est superflue. Elle permet d'optimiser (requêtes serveur). Smiley cligne . On peut très bien tromper une vérification front. De ce fait, s'il n'y a pas de vérification serveur au final, c'est open bar (faille de sécurité béante) ....

Une bonne introduction sur le sujet : je t'invite à parcourir ce site afin de comprendre et apprendre le mechanisme, la syntaxe et du vocabulaire.

Au passage, ta RegEx est très moyenne... je peux écrire ceci : dom----....dom@dom----....dom.fr et ce sera accepté. Or ce format est incorrect si je ne m'abuse. Toujours en faisant simple : filter_var().
Sinon, sur le web, on trouve des motifs supérieurs à ce motifs simpliste.
Modifié par niuxe (16 Sep 2014 - 20:40)