5568 sujets

Sémantique web et HTML

Bonjour, je suis a la recherche d'un formulaire de contact simple mais entièrement personnalisable et valide W3C pour mon site Smiley smile si quelqu'un peut m'aider !

Merci d'avance !

Pikachøù
Modifié par Pikachou (22 Jul 2009 - 11:12)
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 ?
Je te remercie pour ta réponse Smiley smile seulement en suivant le tutoriel j'arrive a faire mon formulaire mais il ne parle pas du PHP alors qu'au début du tuto il dit qu'il faut une page.php :s
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 Smiley cligne .
C'est bon j'ai mon script PHP qui fonctionne très bien Smiley smile
Mais comment le protéger des spames/mailbombes ?

la je suis perdu ^^

peut être un script pour interdire d'envoyer un message avant 10 minutes si quelqu'un a ?

je sais pas du tout :s
Modifié par Pikachou (22 Jul 2009 - 23:35)
Tu as un formulaire qui te sert à quoi exactement ?

Inscription d'un membre ?
Identification d'un membre ?
Minichat ?
Formulaire de contact ?
Autres ?
c'est un formulaire de contact

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 Smiley cligne .
- 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)
Alors le tuto sa fait depuis ce matin que j'essaie de le réaliser et j'ai toujours pas réussi ^^
Et comment créer un script de se genre ?
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 Smiley langue .
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 :



        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)