8418 sujets

Développement web côté serveur, CMS

Bonjour,
J'ai un fichier PHP (pour un formulaire) lié à mon site HTML.
Deulement, ce dernier me renvoi sur un site (http://tutsme-webdesign.info/index.php) lors du "send".
Je reçois bien les messages, mais je souhaiterais que l'internaute ne quitte pas mon site.
J'ai changé l'URL par la mienne se trouvant sur le fichier, et je me retrouve avec une page blanche lors du "send".
Je ne débute pas en PHP, je n'y connais rien. Je ne comprends rien à ce qui est marqué. Désolé Smiley decu
Le fichier :
<?php
if(isset($_POST['email'])) {
 
    // EDIT THE 2 LINES BELOW AS REQUIRED
    $email_to = "dm15517@gmail.com";
    $email_subject = "New Message Received";
 
    function died($error) {
        // your error code can go here
        echo "We are very sorry, but there were error(s) found with the form you submitted. ";
        echo "These errors appear below.<br /><br />";
        echo $error."<br /><br />";
        echo "Please go back and fix these errors.<br /><br />";
        die();
    }
 
    // validation expected data exists
    if( !isset($_POST['email']) ||        
        !isset($_POST['comments'])) {
        died('We are sorry, but there appears to be a problem with the form you submitted.');       
    }
 
    $email_from = $_POST['email']; // required    
    $comments = $_POST['comments']; // required
 
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) {
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />';
  }
    $string_exp = "/^[A-Za-z\s.'-]+$/";

  if(strlen($comments) < 2) {
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
  }
  if(strlen($error_message) > 0) {
    died($error_message);
  }
    $email_message = "Form details below.\n\n";
 
    function clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }
 
    $email_message .= "First Name: ".clean_string($first_name)."\n";
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
    $email_message .= "Email: ".clean_string($email_from)."\n";   
    $email_message .= "Comments: ".clean_string($comments)."\n";
 
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
echo "<meta http-equiv='refresh' content=\"0; url=http://tutsme-webdesign.info/index.php\">";
?>
 
<?php
}
?>

Merci énormément pour votre aide Smiley cligne
ed
Bonjour,

c'est la ligne

echo "<meta http-equiv='refresh' content=\"0; url=http://tutsme-webdesign.info/index.php\">";

qui redirige l'internaute sur l'autre site.
Supprime cette ligne et à la place, affiche un message du type "Votre message a bien été envoyé..."
met ceci en debut de ton fichiers


ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);


ça te permettra de voir toutes les erreurs