Protéger formulaire de contact
Fermé
titacmoii
Messages postés
6
Date d'inscription
vendredi 8 novembre 2013
Statut
Membre
Dernière intervention
13 novembre 2013
-
8 nov. 2013 à 19:00
titacmoii Messages postés 6 Date d'inscription vendredi 8 novembre 2013 Statut Membre Dernière intervention 13 novembre 2013 - 13 nov. 2013 à 18:28
titacmoii Messages postés 6 Date d'inscription vendredi 8 novembre 2013 Statut Membre Dernière intervention 13 novembre 2013 - 13 nov. 2013 à 18:28
A voir également:
- Protéger formulaire de contact
- Proteger cellule excel - Guide
- Formulaire de réclamation facebook - Guide
- Protéger un dossier par mot de passe - Guide
- Créer un groupe whatsapp sans contact - Guide
- Contact messenger disparu ✓ - Forum Réseaux sociaux
1 réponse
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 8/11/2013 à 22:59
Modifié par gravgun le 8/11/2013 à 22:59
Salut, niveau HTML ça commence fort:
Ensuite,
Et je comprends que tu veuilles le nom de la ville; mais je doute qu'elle aie un prénom (champ déjà occupé pour le prénom du "client"):
Passons coté "sécuritay" (mal ortographié car c'est pas de la sécurité): utiliser un
Une pratique générique mais assez efficace pour lutter contre le spam est d'utiliser une liste de mots/expressions bannies (CCM le fait d'ailleurs).
Pour le reste des champs, une vérif' comme tu le fais est efficace; mettre une limite de caractères max serait bien aussi.
Pour la verif' de l'email; mon pauvre c'est pas bon:
Sur une autre note, je vois des [A tilde]© dans ton texte, qu'on te brûle au bucher (ok j'abuse :p) pour: 1. avoir mis des accents dans les noms de variable 2. avoir enregistré ton fichier en UTF8 et ouvert avec un encodage ASCII. Passe tout en UTF8 et on en reparle plus.
Ta condition
(On en reparle quand c'est corrigé ;) )
from human import idiocy
del idiocy
<B><label for="Civilite">Soit tu mets toutes les balises en majuscule à la mode des pages des années 90, soit tout en minuscule.
Ensuite,
input type="text/css"ça vient de sortir? Non, pask' en fait ça existe pas. Les
type="text/css"c'est pour les
<link>dans le
<head>; je te renvoie au paragraphe 4.10.7 du standard HTML5 qui liste les types possibles pour un input; en l'occurence tu veux text, tel et email.
Et je comprends que tu veuilles le nom de la ville; mais je doute qu'elle aie un prénom (champ déjà occupé pour le prénom du "client"):
<label>Ville:</label><input type="text/css" name="prenom"
Passons coté "sécuritay" (mal ortographié car c'est pas de la sécurité): utiliser un
<input type="hidden">avec une date n'est pas une sécurité: un coup d'éditeur HTML (fait Ctrl+Shift+I pour voir) ou de requète paramètre spécial dans le cas d'un bot et c'est fichu. La vérif' de fréquence/vitesse d'envoi doit se faire coté serveur uniquement ou serveur+client avec une date cryptée (AES/DES/autre avec mcrypt_encrypt/decrypt).
Une pratique générique mais assez efficace pour lutter contre le spam est d'utiliser une liste de mots/expressions bannies (CCM le fait d'ailleurs).
Pour le reste des champs, une vérif' comme tu le fais est efficace; mettre une limite de caractères max serait bien aussi.
Pour la verif' de l'email; mon pauvre c'est pas bon:
eregi()est obsolète, utilise
preg_match()à la place; de plus ta regex est pas bonne, voilà la vraie regex pour vérifier une addresse email comme définie par la RFC822. Au fait, je plaisante, la plupart des regex fournies sur le net sont bonnes aussi.
Sur une autre note, je vois des [A tilde]© dans ton texte, qu'on te brûle au bucher (ok j'abuse :p) pour: 1. avoir mis des accents dans les noms de variable 2. avoir enregistré ton fichier en UTF8 et ouvert avec un encodage ASCII. Passe tout en UTF8 et on en reparle plus.
Ta condition
if($errtxt!="")est pas top: préfère la variable booléenne/entière
$errorsqui sera plus claire dans tes if; pense aussi à mettre des crochets de partout, c'est mieux pour la lisibilité vu qu'apparament l'indentation tu la gères bizarrement. D'ailleurs vu comme c'est fait, ton mail sera quand même envoyé si
$errors== 1 car tu vérifies que
$errtxt.
(On en reparle quand c'est corrigé ;) )
from human import idiocy
del idiocy
Modifié par titacmoii le 11/11/2013 à 12:07
bon je te signale que je suis novice j apprend d'après mes erreurs :p ; j'ai corrigé quelque ligne ,mais j'ai pas compris ce que tu veux dire par:
'''Une pratique générique mais assez efficace pour lutter contre le spam est d'utiliser une liste de mots/expressions bannies (CCM le fait d'ailleurs).
Pour le reste des champs, une vérif' comme tu le fais est efficace; mettre une limite de caractères max serait bien aussi. ''''
si tu peux m'aider un peu stp sera sympa de ta part , pour la verif d email je met le preg-match () comme tu as dis mais tjr erreur ,[Avertissement: preg_match (): Unknown modificateur '+' in / home/u714458844/public_html/traitement.php on line 17] tu peux me donner syntax exacte stp ,pour la condition j ai mis $errors à la place de $errtxt ,merci pour tout
11 nov. 2013 à 12:19
"une limite de caractères max serait bien": tu vérifies si les champs sont vides, alors vérifies aussi s'ils ne sont pas trop longs, ou bien tronque-les.
Pour l'avertissement de : ajoute des au début et à la fin de ton expression régulière, comme ceci:
11 nov. 2013 à 16:23
j'ai mis le syntaxe que tu m as donné
//$errors[] = preg_match('/^[a-z0-9]+[-_.]?[a-z0-9]+[-_.]?[a-z0-9]+@[a-z]+\.[a-z]{2,}$/') ? '' : 'INVALID EMAIL ADDRESS';
if(!preg_match("[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email)){
$errors.="Adresse e-mail invalide !<br/>" ;
}
if($errors==1) echo $error;
mais j'ai reçu un message d 'erreur : [ Avertissement: preg_match (): Unknown modificateur '+' in / home/u714458844/public_html/traitement.php on line 17 ]
merci de corriger si j'ai fais des bêtises lol
11 nov. 2013 à 16:34
13 nov. 2013 à 18:28
j'ai essayé mais sans vain ,j ai mis autre syntaxe le voila ,stp tu peux me dire si c est correcte au niveau de vérification d'email ,et autre chose ,même si je met l adresse correcte me met une erreur "" email invalide "" voila le code php
<?php
$errors = "";
if(empty($_POST["nom"]))
$errors .= "Veuillez renseigner votre nom<br />";
if(empty($_POST["societe"]))
$errors .= "Veuillez renseigner votre société<br />";
if(empty($_POST["tel"]))
$errors .= "Veuillez renseigner votre tel<br />";
if(empty($_POST["email"]))
$email_regex = "^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+.[a-z0-9-]";
if ( $email == "" OR !preg_match( $email_regex , $email ) )
$error=1;
if($error==1){
$errors.="Adresse e-mail invalide !<br/>" ;
}
if(empty($_POST["sujet"]))
$errors .= "Veuillez renseigner votre sujet<br />";
if (isset($_POST['message'])) $_POST['message']=trim(stripslashes($_POST['message']));
if(empty($_POST['message']))
$errors .= "Veuillez renseigner votre message<br />";
if($errors!="")
echo ("Une/Des erreur(s) s'est/se sont produite(s) ! <br />").$errors;
else
{
echo("<center><font color=green><br><br><br><h2>Formulaire envoyé ! Je vous répondrais rapidement. Merci!</h2></font><br><a href=/>Cliquez ici pour revenir à l'accueil</a></center>");
$adresse = "contact@monsite.fr";
$nom=htmlentities($_POST['nom']);
$email=htmlentities($_POST['email']);
$sujet=htmlentities($_POST['sujet']);
$societe=htmlentities($_POST['societe']);
$message=htmlentities($_POST['message']);
$message=str_replace("\'","'",'message');
$message=addslashes($_POST['message']);
$TO = $adresse;
$head = "From: ".$adresse."\n";
$head .= "X-Sender: <".$adresse.">\n";
$head .= "X-Mailer: PHP\n";
$head .= "Return-Path: <".$adresse.">\n";
$head .= "Content-Type: text/plain; charset=utf-8\n";
$head .= "MIME-Version: 1.0\r\n";
$sujet = "Formulaire de contact";
$informations = "
Nom: ".$_POST['nom']." \r\n
Société: ".$_POST['societe']." \r\n
Tel: ".$_POST['tel']." \r\n
Email du Contact: ".$_POST['email']." \r\n
Sujet du Contact: ".$_POST['sujet']."\r\n
message: ".$_POST['message']." \r\n
";
mail($TO, $sujet ,$informations, $head);
}
?><br><br>
merci bp et désoler pour dérangement