Bonjour,
Je suis en pleine refonte d'un site qui s'appuie sur Wordpress, pour la page contact j'ai trouvé, dans le modèle de page du thème installé, un script PHP pour le formulaire. Or ce dernier ne répond pas à ce que je souhaite et PHP n'est pas du tout mon fort.
Lorsque aucun champs n'est rempli il me demande de les remplir (ça ok)
Lorsque tous les champs sont rempli avec une seule lettre, le message est validé, pourtant j'ai des conditions.
Enfin, lorsque le message est validé, je ne reçois finalement aucun email sur mon adresse renseignée dans le script.
Est-ce également normal que mon script sois entrecoupé de <?php get_header(); ?> et d'un morceau de html ?
D'avance merci de votre aide.
Modifié par Sulivent (10 Nov 2014 - 02:22)
Je suis en pleine refonte d'un site qui s'appuie sur Wordpress, pour la page contact j'ai trouvé, dans le modèle de page du thème installé, un script PHP pour le formulaire. Or ce dernier ne répond pas à ce que je souhaite et PHP n'est pas du tout mon fort.
Lorsque aucun champs n'est rempli il me demande de les remplir (ça ok)
Lorsque tous les champs sont rempli avec une seule lettre, le message est validé, pourtant j'ai des conditions.
Enfin, lorsque le message est validé, je ne reçois finalement aucun email sur mon adresse renseignée dans le script.
Est-ce également normal que mon script sois entrecoupé de <?php get_header(); ?> et d'un morceau de html ?
D'avance merci de votre aide.
<?php
/*
Template Name: Formulaire de contact
*/
?>
<?php if ( isset( $_POST['submitted'] ) ) {
$name = $_REQUEST['form-name'];
$email = $_REQUEST['form-email'];
$subject = $_REQUEST['form-subject'];
$message = $_REQUEST['form-message'];
$errors = '';
{
// Validate name
if ( $name != "" ) {
$name = filter_var( $name, FILTER_SANITIZE_STRING );
if ( $name == "" || strlen( $name ) < 2 ) {
$errors .= __( 'Veuillez écrire votre nom s\'il vous plait.', 'framework' ) .'<br> ';
}
} else {
$errors .= __( 'Veuillez écrire votre nom s\'il vous plait.', 'framework' ) .'<br> ';
}
// Validate email
if ( $email != "" ) {
$email = filter_var( $email, FILTER_SANITIZE_EMAIL );
if ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
$errors .= __( 'Veuillez écrire une adresse email valide s\'il vous plait.', 'framework' ) . '<br> ';
}
} else {
$errors .= __( 'Veuillez écrire une adresse email valide s\'il vous plait.', 'framework' ) . '<br> ';
}
// Validate subject
if ( $subject != "" ) {
$subject = filter_var( $subject, FILTER_SANITIZE_STRING );
if ( $subject == "" || strlen( $subject ) < 3 ) {
$errors .= __( 'Veuillez écrire un sujet explicite s\'il vous plait.', 'framework' ) .'<br> ';
}
} else {
$errors .= __( 'Veuillez écrire un sujet explicite s\'il vous plait.', 'framework' ) .'<br> ';
}
// Validate message
if ( $message != "" ) {
$message = filter_var( $message, FILTER_SANITIZE_STRING );
if ( $message == "" || strlen( $message ) < 10 ) {
$errors .= __( 'Votre message est trop court, veuillez écrire un message plus explicite s\'il vous plait.', 'framework' ) . '<br> ';
}
} else {
$errors .= __( 'Votre message est trop court, veuillez écrire un message plus explicite s\'il vous plait.', 'framework' ) . '<br> ';
}
}
if ( empty( $name ) || empty( $message ) || empty( $email ) || empty( $subject ) ) {
$sent = false;
}
else {
$content = "<html><body><h1>Un email de votre site Internet</h1> <p>Nom: $name</p> <p>E-mail: $email</p> <p>Sujet: $subject</p> <p>Message: $message</p> </body></html>";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$headers .= 'From: '.$name.' <'.$email.'>' . "\r\n";
mail( get_option( 'contact@xxx.com' ), 'Bonjour, une personne vous a écrit sur votre site Internet', $content, $headers );
$sent = true;
}
}
?>
<?php get_header(); ?>
<div class="container-fluid page">
<section class="row-fluid single_post">
<div class="col12">
<h5>Pour toute demande de renseignements complémentaires ou pour obtenir un devis,<h5/>
<h5>n'hésitez pas à me contacter par email ou par téléphone.</h5>
</div>
<div class="col12 formulaire" <?php post_class(); ?>>
<div class="col6 bkg-jaune formulaire">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_content(); ?>
<?php if ( isset( $sent ) && $sent == true ) {
echo '<p class="alert green">' . __( 'Merci, votre message a été envoyé.', 'framework' ) . '</p>';
}
if ( isset( $sent ) && $sent == false ) {
echo '<p class="alert red">' . $errors . '</p>';
}
endwhile; endif; ?>
Modifié par Sulivent (10 Nov 2014 - 02:22)