2017-07-20 3 views
0

Ich versuche eine Umleitung zu Thank you! Seite nach erfolgreichem Validieren von Formularinformationen und Generieren einer E-Mail. Aber die Header-Funktion funktioniert nicht/Seite leitet nicht um und ich bekomme stattdessen mein 404. Mein Code ist unten angegeben:Header() Funktion Redirect?

<?php 
/* Set e-mail recipient */ 
$myemail = "[email protected]"; 
$subject = "Visitor Message"; 

/* Check all form inputs using check_input function */ 
$firstname = check_input($_POST['firstname'], "Enter your first name"); 
$lastname = check_input($_POST['lastname'], "Enter your last name"); 
$email = check_input($_POST['emailaddress']); 
$message = check_input($_POST['message'], "Write your message"); 

/* If e-mail is not valid show error message */ 
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) 
{ 
    show_error("E-mail address not valid"); 
} 

/*Prepare the message for the e-mail */ 
$emailmessage = "Hello! 

Your have received a message! 

Name: $firstname $lastname 
E-mail: $email 

Message: 
$message 

End of message 
"; 

/* Send the message using mail() function */ 
mail($myemail, $subject, $emailmessage); 

/* Redirect visitor to the thank you page */ 
header('Location: http://www.mywebsite.com/thanks.html'); 
exit(); 

/* Functions we used */ 
function check_input($data, $problem='') 
{ 
    $data = trim($data); 
    $data = stripslashes($data); 
    $data = htmlspecialchars($data); 
    if ($problem && strlen($data) == 0) 
    { 
     show_error($problem); 
    } 
    return $data; 
} 

function show_error($myError) 
{ 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<link rel="stylesheet" href="tsd_main.css"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 

<title>TSD</title> 

</head> 
<body> 
<div class="header"> 

<img src="twosundawnbanner.png" id="banner"> 

<ul> 

<li><a href="index.hmtl">Home</a></li> 

<!-- <li><a href="#news">News</a></li> 
--> 
<li><a href="#services">Services</a></li> 

<li><a href="#projects">Projects</a></li> 

<li><a href="#giving">Giving</a></li> 

<li><a href="about.html">About</a></li> 

<li><a href="#contact">Contact</a></li> 

<li style="float:right"><a class="active" href="#shop">Shop</a></li> 

</ul> 

</div> 
<div class="maincontent"> 
    <b>Please correct the following error:</b><br /> 
    <?php echo $myError; ?> 
</div> 
<div class="footer"> 
TSD &copy; 2017 
</div> 
</body> 
</html> 
<?php 
exit(); 
} 
?> 
+0

zu verstehen, wenn Sie erhalten, ein 404-Fehler, die Umleitung funktioniert. Vermutung, dass es keine tatsächliche Seite unter http: // www.mywebsite.com/thank.html gibt, auf die umgeleitet wird. Stellen Sie sicher, dass die Domäne und der Speicherort der Datei korrekt sind. Andernfalls wird eine '.htaccess'-Regel oder eine andere Bedingung angewendet, die das gewünschte Ergebnis verhindert. Siehe: https://stackoverflow.com/a/768472/1144627 – fyrye

+0

Vielen Dank! Du hast mich in die richtige Richtung gelenkt! –

Antwort

-1

Wenn Sie nur die Schritt für Schritt Screenshots teilen können besser sein wird versuchen zu verstehen, und auch im Fehlerprotokoll suchen wirkliche Ursache für Fehler