Bonjour,
Je suis en phase de mise en ligne d'un de mes sites et j'ai un soucis avec le rafraîchissement de la page après l'envoi du formulaire. Je suis très embêtée, j'arrive pas à voir ce qui cloche. Ce site est une onepage et donc, quand on clique sur envoyer la page remonte en entête aussitôt, donc l'internaute ne voit pas si son formulaire est bien parti.
Voici le lien. Vous pouvez cliquer sur webmaster (c'est moi) et m'envoyer un message : pour faire la manip jusqu'au et mieux vous rendre compte.
http://www.sodecinternational.fr/page.php
voici le code en entête du HTML :
<?php
if(!empty($_POST)){
extract($_POST);
$valid = true;
if(empty($nom)){
$valid = false;
$erreurnom = 'vous devez indiquer votre nom';
}elseif(empty($email)){
$valid = false;
$erreuremail = 'vous devez indiquer votre email';
}elseif($email != null && !preg_match('/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i', $email)){
$valid = false;
$erreuremail = 'adresse email invalide';
}elseif(empty($pays)){
$valid = false;
$erreurpays = 'vous devez indiquer votre pays';
}elseif(empty($message)){
$valid = false;
$erreurmessage = 'Vous devez écrire un message';
}elseif(!isset($service)){ // JE VÉRIFIE QUE L'UTILISATEUR À BIEN CHOISIE UN DESTINATAIRE
$valid = false;
$erreurservice = 'Vous devez choisir un destinataire';
}
if($valid){
switch($service){ // JE TRAITE LE CHOIX DU DESTINATAIRE
case 'mail1':
$to = '[email protected]';
break;
case 'mail2':
$to = '[email protected]';
break;
case 'mail3':
$to = '[email protected]';
break;
case 'mail4':
$to = '[email protected]';
break;
}
$sujet = $nom.' vous envoi un message';
$header = "Content-type: text/html; charset=utf-8\r\n";
$header .= "From: [email protected] \r\n";
$header .= 'Reply-To: '.$email.' ';
$message = stripcslashes($message);
$nom = stripcslashes($nom);
if(mail($to, $sujet, $message, $header)) {
$ok = 'Votre message est bien parti';
}
else {
$erreur = 'Une erreur est survenue lors de l\'envoi de votre message.';
}
//je vide les variables
unset($nom);
unset($email);
unset($pays);
unset($message);
}
}
?>
Et le code du formulaire contact :
<h1 id="contact">Contacts</h1>
<?php
if(isset($ok)) echo '<p class="ok">'.$ok.'</p>';
if(isset($erreur)) echo '<p class="erreur">'.$erreur.'</p>';
if(isset($erreurservice)) echo '<p class="erreurservice">'.$erreurservice.'</p>';
?>
<form method="post" action="page.php">
<fieldset id="caseAcocher">
<legend>Cochez la case correspondante à la personne<br>que vous souhaitez contacter,<br>
le formulaire ci-contre dirigera votre mail
</legend>
<ul>
<li><input type="radio" name="service" id="gino" value="mail1" />
<label for="gino">Direction générale : Gino Ferrara</label>
</li>
<li><input type="radio" name="service" id="laborde" value="mail2" />
<label for="laborde">Direction technique : Bernard Laborde</label>
</li>
<li><input type="radio" name="service" id="gilles" value="mail3" />
<label for="gilles">Responsable : Gilles Ferrara</label>
</li>
<li><input type="radio" name="service" id="webmaster" value="mail4" />
<label for="webmaster">Webmaster : Maria Orea</label>
</li>
</ul>
</fieldset>
<fieldset id="form">
<p>
<input type="text" placeholder="Nom" id="nom" name="nom" value="<?php if(isset($nom)) echo $nom; ?>">
<span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom; ?></span>
</p>
<p>
<input type="email" placeholder="Email" id="email" name="email" value="<?php if(isset($email)) echo $email; ?>">
<span class="error-message"><?php if(isset($erreuremail)) echo $erreuremail; ?></span>
</p>
<p><input type="text" placeholder="Pays" id="pays" name="pays" value="<?php if(isset($pays)) echo $pays; ?>">
<span class="error-message"><?php if(isset($erreurpays)) echo $erreurpays; ?></span>
</p>
<p>
<textarea id="message" placeholder="Votre message..." name="message" rows="5"><?php if(isset($message)) echo $message; ?></textarea>
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
</p>
<p><input type="submit" value="Envoyer votre message" id="envoyer" name="submit" /></p>
</fieldset>
</form>
</section><!--fin de la section 5-->
Merci infiniment par avance si quelqu'un peut me donner un petit coup de main, ce serait super.
morea
Bonjour,
Je suis en phase de mise en ligne d'un de mes sites et j'ai un soucis avec le rafraîchissement de la page après l'envoi du formulaire. Je suis très embêtée, j'arrive pas à voir ce qui cloche. Ce site est une onepage et donc, quand on clique sur envoyer la page remonte en entête aussitôt, donc l'internaute ne voit pas si son formulaire est bien parti.
Voici le lien. Vous pouvez cliquer sur webmaster (c'est moi) et m'envoyer un message : pour faire la manip jusqu'au et mieux vous rendre compte.
[url]http://www.sodecinternational.fr/page.php[/url]
voici le code en entête du HTML :
[php]<?php
if(!empty($_POST)){
extract($_POST);
$valid = true;
if(empty($nom)){
$valid = false;
$erreurnom = 'vous devez indiquer votre nom';
}elseif(empty($email)){
$valid = false;
$erreuremail = 'vous devez indiquer votre email';
}elseif($email != null && !preg_match('/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i', $email)){
$valid = false;
$erreuremail = 'adresse email invalide';
}elseif(empty($pays)){
$valid = false;
$erreurpays = 'vous devez indiquer votre pays';
}elseif(empty($message)){
$valid = false;
$erreurmessage = 'Vous devez écrire un message';
}elseif(!isset($service)){ // JE VÉRIFIE QUE L'UTILISATEUR À BIEN CHOISIE UN DESTINATAIRE
$valid = false;
$erreurservice = 'Vous devez choisir un destinataire';
}
if($valid){
switch($service){ // JE TRAITE LE CHOIX DU DESTINATAIRE
case 'mail1':
$to = '
[email protected]';
break;
case 'mail2':
$to = '
[email protected]';
break;
case 'mail3':
$to = '
[email protected]';
break;
case 'mail4':
$to = '
[email protected]';
break;
}
$sujet = $nom.' vous envoi un message';
$header = "Content-type: text/html; charset=utf-8\r\n";
$header .= "From:
[email protected] \r\n";
$header .= 'Reply-To: '.$email.' ';
$message = stripcslashes($message);
$nom = stripcslashes($nom);
if(mail($to, $sujet, $message, $header)) {
$ok = 'Votre message est bien parti';
}
else {
$erreur = 'Une erreur est survenue lors de l\'envoi de votre message.';
}
//je vide les variables
unset($nom);
unset($email);
unset($pays);
unset($message);
}
}
?>[/php]
Et le code du formulaire contact :
[php] <h1 id="contact">Contacts</h1>
<?php
if(isset($ok)) echo '<p class="ok">'.$ok.'</p>';
if(isset($erreur)) echo '<p class="erreur">'.$erreur.'</p>';
if(isset($erreurservice)) echo '<p class="erreurservice">'.$erreurservice.'</p>';
?>
<form method="post" action="page.php">
<fieldset id="caseAcocher">
<legend>Cochez la case correspondante à la personne<br>que vous souhaitez contacter,<br>
le formulaire ci-contre dirigera votre mail
</legend>
<ul>
<li><input type="radio" name="service" id="gino" value="mail1" />
<label for="gino">Direction générale : Gino Ferrara</label>
</li>
<li><input type="radio" name="service" id="laborde" value="mail2" />
<label for="laborde">Direction technique : Bernard Laborde</label>
</li>
<li><input type="radio" name="service" id="gilles" value="mail3" />
<label for="gilles">Responsable : Gilles Ferrara</label>
</li>
<li><input type="radio" name="service" id="webmaster" value="mail4" />
<label for="webmaster">Webmaster : Maria Orea</label>
</li>
</ul>
</fieldset>
<fieldset id="form">
<p>
<input type="text" placeholder="Nom" id="nom" name="nom" value="<?php if(isset($nom)) echo $nom; ?>">
<span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom; ?></span>
</p>
<p>
<input type="email" placeholder="Email" id="email" name="email" value="<?php if(isset($email)) echo $email; ?>">
<span class="error-message"><?php if(isset($erreuremail)) echo $erreuremail; ?></span>
</p>
<p><input type="text" placeholder="Pays" id="pays" name="pays" value="<?php if(isset($pays)) echo $pays; ?>">
<span class="error-message"><?php if(isset($erreurpays)) echo $erreurpays; ?></span>
</p>
<p>
<textarea id="message" placeholder="Votre message..." name="message" rows="5"><?php if(isset($message)) echo $message; ?></textarea>
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>
</p>
<p><input type="submit" value="Envoyer votre message" id="envoyer" name="submit" /></p>
</fieldset>
</form>
</section><!--fin de la section 5-->
[/php]
Merci infiniment par avance si quelqu'un peut me donner un petit coup de main, ce serait super.
morea