par
cyrikou » 23 juil. 2014, 17:16
Bon voila j'ai un peu résolu mes problèmes, en mettant des attributs html5 dans le corps du formulaire, comme "required" pour rendre obligatoire les champs, "maxlenght" pour le nombre de caractères et "pattern" pour la forme des contenus, le formulaire php et simple, avec juste un header pour la redirection sur la page d'erreur de calcul. C'est vrai que tout ce passe coté "client" mais bon c'est juste un formulaire de contact pour un club sportif, donc stop la parano
voici le code :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" /><!-- <meta charset="iso-8859-1" /> -->
<link rel="stylesheet" type="text/css" href="formulaire.css">
<link rel="stylesheet" type="text/css" href="modal.css">
</head>
<body>
<a href="#openModal">Open Modal</a>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close"></a>
<header class="body">
Formulaire:
</header>
<section class="body">
<form method="post" action="
http://www.xxx/customform/index.php">
<label>NOM,Prénom :</label>
<input type="text" maxlength="25" name="name" placeholder="Ecrivez ici" required pattern="[a-zA-Z0-9]">
<label>Email :</label>
<input type="text" maxlength="25" name="email" type="email" placeholder="Ecrivez ici" required=" /^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/ ">
<label>Votre message :</label>
<textarea maxlength="250" name="message" placeholder="Ecrivez ici" required pattern="[a-zA-Z0-9]"></textarea>
<label>Que donne 2+2 ?<br> (Anti-spam)</label>
<input type="text" maxlength="1" name="antispam" placeholder="Résultat" style="width:60px;" required pattern="[0-9]">
<br>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
</section>
<footer class="body">
</footer>
</div>
</div>
</body>
</html>
et le php :
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'Site internet du CSVBM';
$to = '
[email protected]';
$subject = 'Contact depuis le site internet';
$antispam = $_POST['antispam'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit'] && $antispam == '4') {
if (mail ($to, $subject, $body, $from)) {
header("location:http://www..com/redirect2.html");
}
} else if ($_POST['submit'] && $antispam != '4') {
header("location:http://www..com/email1.html");
}
?>
J'ai aussi une possibilité avec la balise <iframe>, en utilisant le code de la fenêtre modale. J'utilise webacapela pour construire mes sites internet, j'améliore les possibilités avec des fenêtre modale, ou des menus css "maison", webaccapela propose un formulaire de contact , je le place sur une page et je le fais apparaître grâce à la iframe, cela m'évite de programmer en php ou autre jquery pour le traitement du formulaire, vive le bricolage mais c'est pas mal.
Merci pour l'aide apportée.
Bon voila j'ai un peu résolu mes problèmes, en mettant des attributs html5 dans le corps du formulaire, comme "required" pour rendre obligatoire les champs, "maxlenght" pour le nombre de caractères et "pattern" pour la forme des contenus, le formulaire php et simple, avec juste un header pour la redirection sur la page d'erreur de calcul. C'est vrai que tout ce passe coté "client" mais bon c'est juste un formulaire de contact pour un club sportif, donc stop la parano
voici le code :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" /><!-- <meta charset="iso-8859-1" /> -->
<link rel="stylesheet" type="text/css" href="formulaire.css">
<link rel="stylesheet" type="text/css" href="modal.css">
</head>
<body>
<a href="#openModal">Open Modal</a>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close"></a>
<header class="body">
Formulaire:
</header>
<section class="body">
<form method="post" action="http://www.xxx/customform/index.php">
<label>NOM,Prénom :</label>
<input type="text" maxlength="25" name="name" placeholder="Ecrivez ici" required pattern="[a-zA-Z0-9]">
<label>Email :</label>
<input type="text" maxlength="25" name="email" type="email" placeholder="Ecrivez ici" required=" /^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/ ">
<label>Votre message :</label>
<textarea maxlength="250" name="message" placeholder="Ecrivez ici" required pattern="[a-zA-Z0-9]"></textarea>
<label>Que donne 2+2 ?<br> (Anti-spam)</label>
<input type="text" maxlength="1" name="antispam" placeholder="Résultat" style="width:60px;" required pattern="[0-9]">
<br>
<input id="submit" name="submit" type="submit" value="Submit">
</form>
</section>
<footer class="body">
</footer>
</div>
</div>
</body>
</html>
et le php :
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'Site internet du CSVBM';
$to = '
[email protected]';
$subject = 'Contact depuis le site internet';
$antispam = $_POST['antispam'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit'] && $antispam == '4') {
if (mail ($to, $subject, $body, $from)) {
header("location:http://www..com/redirect2.html");
}
} else if ($_POST['submit'] && $antispam != '4') {
header("location:http://www..com/email1.html");
}
?>
J'ai aussi une possibilité avec la balise <iframe>, en utilisant le code de la fenêtre modale. J'utilise webacapela pour construire mes sites internet, j'améliore les possibilités avec des fenêtre modale, ou des menus css "maison", webaccapela propose un formulaire de contact , je le place sur une page et je le fais apparaître grâce à la iframe, cela m'évite de programmer en php ou autre jquery pour le traitement du formulaire, vive le bricolage mais c'est pas mal.
Merci pour l'aide apportée.