Problème script verification formulaire [Résolu/Fermé]

Signaler
Messages postés
130
Date d'inscription
dimanche 28 octobre 2012
Statut
Membre
Dernière intervention
10 novembre 2020
-
Messages postés
130
Date d'inscription
dimanche 28 octobre 2012
Statut
Membre
Dernière intervention
10 novembre 2020
-
Bonjour,

je reviens vers vous pour solliciter votre aide pour un problème que j'arrive pas à résoudre depuis des heures. voilà jai crée un formulaire de contact en php avec un script de verifiction (numero de telephone, mail valide, champs vides...) il marchait hyper bien sauf que ce matin j'ai voulu changer de mise en page et aligner les champs du formulaire avec des tableaux. j'ai réussi à avoir un joli formulaire mais depuis mon script de verifiction ne fonctionne plus.

voici mon script php :


<?php
if(isset($_POST['envoyer'])) {
$civilite=$_POST['civilite'];
$nom=$_POST['nom'];
$email=$_POST['email'];
$telephone=$_POST['telephone'];
$marque=$_POST['marque'];
$modele=$_POST['modele'];
$demande=$_POST['demande'];
$message=$_POST['message'];

$contenu="Nom: $nom<br/>Email: $email<br/>Tél: $telephone<br/>Marque: $marque<br/>Modèle: $modele<br/>Demande:$demande<br/><br/>Message:$message";
$contenu=str_replace(chr(92),"",$contenu);
$contenu=str_replace(chr(10),"<br/>",$contenu);

$headers="From: <$email>\n";
$headers.="Content-Type: text/html; charset=UTF-8\n";

$to="xxxx@mail.xx";
$objet="message envoyé depuis mon formulaire de contact";

mail($to, $objet, $contenu, $headers);
}

?>


<script type="text/javascript">

function verif(formulaire) {

frm=document.forms[formulaire];

var email=frm.elements['email'].value;
var re1= /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;

var telephone = frm.elements['telephone'].value;
var regex = new RegExp(/^[0-9]{10}/gi);


if (document.getElementById('civilite').options[0].selected) {
alert('Veuillez sélectionner votre civilité.');

return false;
}


else if(frm.elements['nom'].value=="" ){
alert("Saisissez votre nom" );
frm.elements['nom'].focus();
return false;
}
else if(!email.match(re1)){
alert("veuillez vérifier le format de votre adresse e-mail." );
frm.elements['email'].focus();
return false;
}
else if(!regex.test(telephone)){
alert('Numero de téléphone incorrect !');
return false;
}
else if(frm.elements['marque'].value=="" ){
alert("Saisissez la marque de votre produit" );
frm.elements['marque'].focus();
return false;
}
else if(frm.elements['modele'].value=="" ){
alert("Saisissez le modèle de votre produit" );
frm.elements['modele'].focus();
return false;
}

else if (document.getElementById('demande').options[0].selected) {
alert('Veuillez sélectionner un objet.');
return false;
}
else if(frm.elements['message'].value=="" ){
alert("Saisissez votre message" );
frm.elements['message'].focus();
return false;
}

}
</script>


<?php
if(!isset($_POST['envoyer']))
{
?>


<form id="formulaire" name="formulaire" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>" onsubmit="text/javascript:return verif('formulaire')" ;>
<table width="648" border="0" bgcolor="#d8d8d8">
<tr>
<th width="516" scope="row"><legend><strong>Vos coordonnées</strong></legend></th>
</tr>
</table>


<table width="648" border="0" bgcolor="#F6F6F6">
<tr>
<th width="250" scope="row">Vous êtes<font color="red">*</font>:</th>
<th width="388" scope="row"><select name="civilite" id="civilite">
<option value="0">---</option>
<option>Mlle</option>
<option>Mme</option>
<option>M.</option>
</select></th>
</tr>
<tr>
<th scope="row">Nom<font color="red">*</font>:</th>
<th scope="row"><input type="text" name="nom" id="nom" /> </th>
</tr>
<tr>
<th scope="row">Email<font color="red">*</font>:</th>
<th scope="row"><input type="text" name="email" id="email" /></th>
</tr>
<tr>
<th scope="row">Téléphone<font color="red">*</font>:</th>
<th scope="row"><input type="text" name="telephone2" id="telephone2" maxlength="10"/></th>
</tr>
</table>
<table width="648" border="0" bgcolor="#d8d8d8">
<tr>
<td width="414"><legend><strong>Votre produit</strong></legend></td>
</tr>
</table>
<table width="648" border="0" bgcolor="#F6F6F6">
<tr>
<td width="250">Marque<font color="red">*</font>:</td>
<td width="388"><input type="text" name="marque" id="marque" /></td>
</tr>
<tr>
<td>Modèle<font color="red">*</font>:</td>
<td><input type="text" name="modele" id="modele" /></td>
</tr>
</table>
<table width="648" border="0" bgcolor="#d8d8d8" >
<tr>
<td><legend><strong>Votre message</strong></legend></td>
</tr>
</table>
<table width="648" border="0" bgcolor="#F6F6F6">
<tr>
<td width="250"><label for="demande">Objet<font color="red">*</font>:</label></td>
<td width="388"><legend>
<select name="demande" id="demande">
<option value="0">---</option>
<option>Demande de devis</option>
<option>Demande de renseignement</option>
</select>
</legend></td>
</tr>
<tr>
<td>Message<font color="red">*:</td>
<td><textarea name="message" id="message" tabindex="4" cols="30" rows="8"></textarea></td>
</tr>
</table>
<table width="648" border="0" bgcolor="#F6F6F6">
<tr>
<td width="642" height="53"><font color="red">*</font> = Champ Obligatoire</td>
</tr>
<tr>
<td><input type="submit" name="envoyer" id="envoyer" value="Envoyer" /></td>
</tr>
</table>
</form>




<?php
}

else {
?>
<div id="confirmation">
<table width="628" height="112" border="0" align="center" bgcolor="#F6F6F6" >
<tr>
<td width="622">Votre message a bien été envoyé. </td>
</tr>
<tr>
<td>Nous vous contacterons dans les plus brefs délais.</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>Merci de votre intérêt, à bientôt.</td>
</tr>
<tr>
<td><a href="javascript:window.history.go(-1)"></a></td>
</tr>
</table>
<table width="622" border="0" align="center" bgcolor="#F6F6F6">
<tr>
<td><a href="javascript:window.history.go(-1)">Retour</a></td>
</tr>
</table>
<table width="622" height="308" border="0" align="center" bgcolor="#F6F6F6">
<tr>
<td width="510" height="304"><img src="images/accusé_de_réception.png" width="385" height="204" alt="accusé de récéption mail" longdesc="http://www.changerecranpascher.fr" /></td>
</tr>
</table>
<p> </p>
</div>
<table width="628" border="0" align="center" bgcolor="#F6F6F6">
<tr>
<td width="622"><font size='-2'>Veuillez noter que certains fournisseurs de services internet et de messagerie électronique risquent de considérer notre réponse à votre e-mail comme message indésirable (spam). Si vous ne recevez pas de message de confirmation de votre demande dans les 15 minutes qui suivent, veuillez vérifier votre dossier « spam » ou « courriers indésirables » et ajouter notre adresse <span class="mail">contact@changerecranpascher.fr</span> à votre « liste de contacts/liste des expéditeurs autorisés ». Si le problème persiste et que vous êtes sûr(e) d'avoir donné une adresse électronique valide, veuillez nous contacter pour recevoir une aide supplémentaire. </font></td>
</tr>
</table>
<h2 class="posttitle">
<?php
}
?>

je vous remercie d'avance de votre aide.


2 réponses

Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
122
Pour commencer, dans le onsubmit :
onsubmit="return verif('formulaire')" fonctionne chez moi,
ça : text/javascript:return verif('formulaire') non.

Mais surtout ton champs telephone se nomme telephone2, le javascript n'est pas fais en conséquence.



PS : Une vérification javascript ne suffit pas, il est très facile de nos jours de modifier ton code javascript, de le désactiver, ou d'enlever l'appel à ta fonction.
Si tu ne fais pas de vérification php, on peut au final mettre ce que l'on veux.
Messages postés
130
Date d'inscription
dimanche 28 octobre 2012
Statut
Membre
Dernière intervention
10 novembre 2020
2
merci beaucoup Nhay ça marche bien maintenant , j'ai remplacé onsubmit:text/javascript:return verif('formulaire') par onsubmit="return verif('formulaire')". t'aurais pas un script de vérification en php parce que c vrai il se fie de désactiver javascript et hop mon code ne servira à rien.
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
122
<?php 
if(isset($_POST['envoyer'])) { 
$civilite=$_POST['civilite']; 
$nom=$_POST['nom']; 
$email=$_POST['email']; 
$telephone=$_POST['telephone']; 
$marque=$_POST['marque']; 
$modele=$_POST['modele']; 
$demande=$_POST['demande']; 
$message=$_POST['message']; 

if(!$nom) $msg.="Vous devez mettre un nom<br />";
(A mettre pour tous ceux dont tu doit juste vérifier l'existance.)

$regex='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';  
if(!preg_match($regex,$email)) $msg.="Format d'email invalide <br />";

if(!$msg){
$contenu="Nom: $nom<br/>Email: $email<br/>Tél: $telephone<br/>Marque: $marque<br/>Modèle: $modele<br/>Demande:$demande<br/><br/>Message:$message"; 
$contenu=str_replace(chr(92),"",$contenu); 
$contenu=str_replace(chr(10),"<br/>",$contenu); 

$headers="From: <$email>\n"; 
$headers.="Content-Type: text/html; charset=UTF-8\n"; 

$to="xxxx@mail.xx"; 
$objet="message envoyé depuis mon formulaire de contact"; 

mail($to, $objet, $contenu, $headers); 
}else{
echo $msg;
}
} 

?>
Messages postés
130
Date d'inscription
dimanche 28 octobre 2012
Statut
Membre
Dernière intervention
10 novembre 2020
2
merci beaucoup nhay, je dois virer mon javascript de verification et mettre ce script php??
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
122
C'est toi qui vois, rien ne t'empêche de laisser les deux.
La vérification javascript permet de valider la page sans avoir à la recharger complètement, donc ce n'est pas inutile à 100%.
Messages postés
130
Date d'inscription
dimanche 28 octobre 2012
Statut
Membre
Dernière intervention
10 novembre 2020
2
merci beaucoup pour ton aide nhay !