Problème script verification formulaire

Résolu/Fermé
mad92men Messages postés 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 - 14 nov. 2012 à 20:40
mad92men Messages postés 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 - 4 déc. 2012 à 23:04
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

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
15 nov. 2012 à 08:48
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.
0
mad92men Messages postés 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 4
15 nov. 2012 à 13:45
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.
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
15 nov. 2012 à 18:32
<?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;
}
} 

?>
0
mad92men Messages postés 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 4
15 nov. 2012 à 21:59
merci beaucoup nhay, je dois virer mon javascript de verification et mettre ce script php??
0
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
16 nov. 2012 à 08:36
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%.
0
mad92men Messages postés 130 Date d'inscription dimanche 28 octobre 2012 Statut Membre Dernière intervention 10 novembre 2020 4
4 déc. 2012 à 23:04
merci beaucoup pour ton aide nhay !
0