5568 sujets
Sémantique web et HTML
Bonjour Pikachou,
Pourrais-tu être plus explicite dans ta demande ?
Ensuite, ce que je peux te donner comme conseil, c'est de suivre ce tutoriel consacré aux formulaires et à leur design.
Après, tu peux te rendre sur ce site qui te propose de bien valider tes formulaires ou encore de faire une validation avancée des formulaires.
Mais une vérification de formulaire en PHP ne serait-elle pas plus appropriée ?
Pourrais-tu être plus explicite dans ta demande ?
Ensuite, ce que je peux te donner comme conseil, c'est de suivre ce tutoriel consacré aux formulaires et à leur design.
Après, tu peux te rendre sur ce site qui te propose de bien valider tes formulaires ou encore de faire une validation avancée des formulaires.
Mais une vérification de formulaire en PHP ne serait-elle pas plus appropriée ?
Dans le tutoriel, l'auteur parle du langage PHP car ce langage te seras utiles pour dynamiser ta page, notamment avec la transmission de variable par l'intermédiaire de formulaire.
Néanmoins, avant de lire le chapitre sur les variables en PHP, je te conseil de finir la lecture des tutoriels XHTML, CSS sauf dans la cas ou tu l'aurais déjà finit.
Puis, dans un second temps, entamer la lecture des tutoriels sur le PHP .
Néanmoins, avant de lire le chapitre sur les variables en PHP, je te conseil de finir la lecture des tutoriels XHTML, CSS sauf dans la cas ou tu l'aurais déjà finit.
Puis, dans un second temps, entamer la lecture des tutoriels sur le PHP .
c'est un formulaire de contact
voila le script php :
Modifié par Pikachou (23 Jul 2009 - 14:03)
voila le script php :
$msg_erreur = "<div class=\"reponse\">Attention, les champs marqués d'une * sont obligatoires.<br/></div>";
$msg_ok = "<div class=\"reponse\">Votre message a bien été envoyé et sera traité le plus rapidement possible.</div>";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','votre_adresse@votre_domaine.fr');
define('MAIL_SUJET','Message de ...');
// vérification des champs
if (empty($_POST['email_expediteur']))
$message .= "<div class=\"reponse\">Veuillez indiquez votre adresse e-mail.<br/></div>";
if (empty($_POST['message']))
$message .= "<div class=\"reponse\">Veuillze indiquez votre message.</div>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-15"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-MailerPHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps .= "E-MAIL : $email_expediteur / ";
$mail_corps .= "TITRE : $titre / ";
$mail_corps .= "MESSAGE : $message";
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire';
}
}
Modifié par Pikachou (23 Jul 2009 - 14:03)
Pour protéger ton formulaire du spam, tu as plusieurs solutions :
En voici quelques unes :
- Réaliser un captchas anti-bot afin que les bots ne puissent pas te spammer à outrance .
- Ensuite, l'idée serait de faire un script anti-flood, c'est-à-dire, empêcher les utilisateurs de poster un message toutes les x de temps, où x représente le nombre de minutes durant lesquelles l'internaute doit attendre avant de pouvoir poster un message.
Un petit plus, si tu permet à tes visiteurs de te contacter par l'intermédiaire de ton adresse e-mail, voici un tutoriel de prévention contre le spam.
Modifié par jQz (23 Jul 2009 - 19:01)
En voici quelques unes :
- Réaliser un captchas anti-bot afin que les bots ne puissent pas te spammer à outrance .
- Ensuite, l'idée serait de faire un script anti-flood, c'est-à-dire, empêcher les utilisateurs de poster un message toutes les x de temps, où x représente le nombre de minutes durant lesquelles l'internaute doit attendre avant de pouvoir poster un message.
Un petit plus, si tu permet à tes visiteurs de te contacter par l'intermédiaire de ton adresse e-mail, voici un tutoriel de prévention contre le spam.
Modifié par jQz (23 Jul 2009 - 19:01)
a écrit :
Alors le tuto sa fait depuis ce matin que j'essaie de le réaliser et j'ai toujours pas réussi ^^
En même temps, la difficulté est de 4/5 .
Mais il est loin d'être impossible à réaliser, en revanche, as-tu le niveau approprié ?
a écrit :
Et comment créer un script de se genre ?
Pour être honnête, je suis novice en PHP mais, je travaille actuellement sur un script anti-flood pour un minichat.
Modifié par jQz (23 Jul 2009 - 21:49)
Est-ce que quelqu'un pourrait m'intégrer ce code :
dans ce code :
Pour que tout fonctionne correctement s'il vous plait !
Modifié par Pikachou (24 Jul 2009 - 17:40)
if(!empty($_POST['captcha']))
{
if(isset($_SESSION['captcha']) && $_POST['captcha'] == $_SESSION['captcha'])
echo 'Le captcha est bon.';
else
echo 'La captcha n\'est pas bon.';
session_destroy(); // Pour eviter les multiposts.
}
else
echo 'Il faut remplir tout les champs.';
dans ce code :
$msg_erreur = "<div class=\"reponse\">Attention, les champs marqués d'une * sont obligatoires.<br/></div>";
$msg_ok = "<div class=\"reponse\">Votre message a bien été envoyé et sera traité le plus rapidement possible.</div>";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','...@...');
define('MAIL_SUJET','Message de ...');
// vérification des champs
if (empty($_POST['email_expediteur']))
$message .= "<div class=\"reponse\">Veuillez indiquez votre adresse e-mail.<br/></div>";
if (empty($_POST['message']))
$message .= "<div class=\"reponse\">Veuillze indiquez votre message.</div>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-15"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-MailerPHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps .= "E-MAIL : $email_expediteur / ";
$mail_corps .= "TITRE : $titre / ";
$mail_corps .= "MESSAGE : $message";
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire';
}
}
Pour que tout fonctionne correctement s'il vous plait !
Modifié par Pikachou (24 Jul 2009 - 17:40)
Salut,
Pikachou a écrit :Non car cela serait contraire à la règle 16 du forum.
Est-ce que quelqu'un pourrait m'intégrer ce code...