[英]HTML file calls PHP which runs fine but tags the PHP file name on the HTML I want to open
I am new to PHP, 我是PHP新手,
The follow HTML calls send_form_email.php 以下HTML调用send_form_email.php
<form name="contactform" method="post" action="send_form_email.php">
<p align="center"><font face="Arial" color="#4F4F4F"><strong>Subscribe to our
News letter: </strong></font><input type="text" value="enter your email address" onfocus="blank(this)" onblur="unblank(this)" name="email" size="20">
<input type="submit" value="Submit">
the follow PHP code runs correctly: 以下PHP代码正确运行:
<?php
if(isset($_POST['email'])) {
$email_to = "subscribe@myithost.net";
$email_subject = "News Letter Opt In";
function died($error) {
echo "We are very sorry, but the email adress submitted does not appear to be valid";
echo "The error appears below<br /><br />";
echo 'Please go back and fix the error<br /><br />';
die();
}
// validation expected data exists
if(!isset($_POST['email'])) {
died('We are sorry, but there appears to be a problem with the email you submitted.');
}
$email_from = $_POST['email']; // 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 />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "News Letter Opt in Member, see below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Email: ".clean_string($email_from)."\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);
?>
<?php include 'index.html'; ?>
<?php
}
?>
But the problem i have is that it returns me to http://www.myithost.net/send_form_email.php not www.myithost.net/index.html 但是我遇到的问题是,它使我返回到http://www.myithost.net/send_form_email.php,而不是www.myithost.net/index.html
Any help would be much appreciated 任何帮助将非常感激
You need to redirect the user. 您需要重定向用户。 Put something likethis at the end of your php file 在您的php文件末尾放置类似这样的内容
header("Location: http://mydomain.com/index.html");
Try this for the PHP: 为PHP尝试一下:
<?php
if(isset($_POST['email'])) {
$email_to = "subscribe@myithost.net";
$email_subject = "News Letter Opt In";
function died($error) {
echo "We are very sorry, but the email adress submitted does not appear to be valid";
echo "The error appears below<br /><br />";
echo 'Please go back and fix the error<br /><br />';
die();
}
// validation expected data exists
if(!isset($_POST['email'])) {
died('We are sorry, but there appears to be a problem with the email you submitted.');
}
$email_from = $_POST['email']; // 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 />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "News Letter Opt in Member, see below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Email: ".clean_string($email_from)."\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);
header("Location: http://www.example.com/index.html"); // <--- ADD ME
exit(); // <--- ADD ME
}
?>
Replace : 更换:
@mail($email_to, $email_subject, $email_message, $headers);
?>
<?php include 'index.html'; ?>
<?php
}
?>
By : 由:
@mail($email_to, $email_subject, $email_message, $headers);
header("Location: http://mydomain.com/index.html");
}
?>
NB : Make sure no chars are displayed BEFORE header() function call. 注意:确保在header()函数调用之前未显示任何字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.