如果PHP电子邮件表单中的文本为';这还不完全
我对PHP还不熟悉,我无法理解这一点。下面您将看到我的PHP电子邮件表单。问题是,如果用户忘记输入电子邮件,并且已经写了一条长消息,然后点击提交。然后页面将重新加载,出现一条短信说:你忘了发电子邮件了。但是现在整个信息都从表格中删除了,他们不得不重新写一遍。 如果不重新加载页面/删除已输入的信息,我如何回应他们忘记了电子邮件或消息如果PHP电子邮件表单中的文本为';这还不完全,php,forms,email,Php,Forms,Email,我对PHP还不熟悉,我无法理解这一点。下面您将看到我的PHP电子邮件表单。问题是,如果用户忘记输入电子邮件,并且已经写了一条长消息,然后点击提交。然后页面将重新加载,出现一条短信说:你忘了发电子邮件了。但是现在整个信息都从表格中删除了,他们不得不重新写一遍。 如果不重新加载页面/删除已输入的信息,我如何回应他们忘记了电子邮件或消息 <?php function email() { $email = $_REQUEST['email']; $message = $_REQUEST['mes
<?php
function email() {
$email = $_REQUEST['email'];
$message = $_REQUEST['message'];
if ($email)
if ($message)
{
//send email
$to = "xxx@example.com";
$subject = "xxx" ;
$from = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
header('Location: sent/');
exit();
}
else {
echo "You forgot your message.";
}
else {
echo "You forgot your email.";
}
}
?>
使用POST将所有内容转到下一页。您可以在其中使用隐藏字段并保存所有可用值:
<input type="hidden" value="<?php echo $_POST['value']; ?>" />
只需像这样回显消息:
<textarea id="textarea_mail" accept-charset="ISO-8859-1" name='message'
cols="30" rows="5" placeholder="Your message">
<?php echo $_REQUEST['message']; ?>
</textarea>
但是,如果您涉及到一些java脚本或jQuery,您可以在表单提交之前对其进行验证。您需要在字段中添加相关的$\u POST
值。如果有,将显示以下信息:
<form class="mail_form" accept-charset="ISO-8859-1" method='POST'>
<input class="input_mail" name='email' type='text' placeholder="Your email" value="<?php echo @$_POST['email']; ?>">
<textarea id="textarea_mail" accept-charset="ISO-8859-1" name='message' cols="30" rows="5" placeholder="Your message">
<?php echo @$_POST['message']; ?>
</textarea>
<input class="send_mail" type='submit' name='submit'>
</form>
<?php
if(isset($_POST['submit']))
{
echo email();
}
?>
呼叫您的$message
<textarea id="textarea_mail" accept-charset="ISO-8859-1" name='message'
cols="30" rows="5" placeholder="
<?php if(isset($message)) { echo $message; } else { echo "Your message";} ?>" >
</textarea>
当邮件是发送< /p>搜索如何验证窗体时,您可能需要考虑在JavaScript中添加一些客户端验证。谢谢您的回答。正如我写的,我对PHP是新手。但是你写的最后一件事:未设置($message);那是为了安全吗?我在哪里添加这个函数?很抱歉问了新手问题!:)发送邮件时,最好清空变量。表单将再次为空。我会编辑我的帖子,让你知道该放在哪里。@David当然!您只需在电子邮件输入上使用相同的逻辑即可。更新了我的答案。
<textarea id="textarea_mail" accept-charset="ISO-8859-1" name='message'
cols="30" rows="5" placeholder="
<?php if(isset($message)) { echo $message; } else { echo "Your message";} ?>" >
</textarea>
unset($message);
function email() {
$email = $_REQUEST['email'];
$message = $_REQUEST['message'];
if ($email)
if ($message)
{
//send email
$to = "xxx@example.com";
$subject = "xxx" ;
$from = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
header('Location: sent/');
exit();
unset($message);
unset($mail);
}
else {
echo "You forgot your message.";
}
else {
echo "You forgot your email.";
}
}
?>