2017-08-10 1 views
0

Ce script PHP redirigera l'utilisateur vers une page blanche indiquant "Merci de nous avoir contactés, nous vous contacterons très prochainement". J'espérais trouver un moyen de le rediriger vers un autre emplacement, tel que google.com ou ma page d'accueil. J'ai placé un fichier HTML dans la même ligne où il se lit "Merci de nous contacter, nous vous contacterons très bientôt", mais cela n'a pas fonctionné.Mon script PHP actuel redirige vers une page blanche. Comment puis-je dire à mon script de rediriger vers un autre emplacement?

<?php 
if(isset($_POST['email'])) { 

    // EDIT THE 2 LINES BELOW AS REQUIRED 
    $email_to = ""; 
    $email_subject = "Your email subject line"; 

    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['first_name']) || 
     !isset($_POST['last_name']) || 
     !isset($_POST['email']) || 
     !isset($_POST['telephone']) || 
     !isset($_POST['comments'])) { 
     died('We are sorry, but there appears to be a problem with the form you submitted.');  
    } 



    $first_name = $_POST['first_name']; // required 
    $last_name = $_POST['last_name']; // required 
    $email_from = $_POST['email']; // required 
    $telephone = $_POST['telephone']; // not required 
    $comments = $_POST['comments']; // required 

    $error_message = ""; 
    $email_exp = '/^[A-Za-z0-9._%-][email protected][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 .'-]+$/"; 

    if(!preg_match($string_exp,$first_name)) { 
    $error_message .= 'The First Name you entered does not appear to be valid.<br />'; 
    } 

    if(!preg_match($string_exp,$last_name)) { 
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />'; 
    } 

    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 .= "Telephone: ".clean_string($telephone)."\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); 
?> 

Thank you for contacting us. We will be in touch with you very soon. 



<?php 

} 
?> 
+7

Utilisez la fonction php 'header (" location: yourLink.php ");' – yoeunes

+0

notes de côté, la validation de votre e-mail et la validation du nom se déclencheront sur certains legus nmes \ email adresses – rtfm

+0

attention à l'injection de courrier électronique! – perodriguezl

Répondre

0

C'est essentiellement un double de cette question: How to make a redirect in PHP?

En bref, vous devez utiliser la fonction d'en-tête pour rediriger vers la page que vous voulez. Assurez-vous qu'aucun autre texte n'est imprimé avant l'appel de la fonction d'en-tête ou cela ne fonctionnera pas.

+0

S'il vous plaît mettez en garde le commentaire correspondant à la question. Merci! – localheinz

+0

Je n'ai pas de privilèges de vote prioritaire. –