0

我是 PHP 新手,我无法弄清楚。下面您将看到我的 PHP 电子邮件表单。问题是,如果用户忘记输入电子邮件并且已经写了长消息然后点击提交。然后页面将重新加载,并出现一条短信并说:您忘记了您的电子邮件。但是现在整条消息已经从表格中删除了,他们必须重新写一遍。我如何在不重新加载页面/删除已输入信息的情况下回显他们忘记了电子邮件或消息。

<?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.";
} 
}
?>

<form class="mail_form" accept-charset="ISO-8859-1" method='POST'>
<input class="input_mail" name='email' type='text' placeholder="Your email">
<textarea id="textarea_mail" accept-charset="ISO-8859-1" name='message'   cols="30" rows="5"  placeholder="Your message"></textarea>
<input class="send_mail" type='submit' name='submit'>
</form>

<?php if(isset($_POST['submit']))
{
echo email();
}
?>  

4

4 回答 4

0

使用 POST 将所有内容带到下一页。在那里您使用隐藏字段并在其中保存所有可用值:

<input type="hidden" value="<?php echo $_POST['value']; ?>" />

当缺少某些内容时,使用提交按钮将用户带回最后一页,然后再次使用 POST 将所有内容带回最后一页。

于 2013-10-25T08:53:21.317 回答
0

只需回显消息,例如:

<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,您可以在提交表单之前对其进行验证。

于 2013-10-25T08:56:47.380 回答
0

您需要向该字段添加相关$_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();
    }
?> 
于 2013-10-25T08:57:20.503 回答
0

拨打您的 $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>

不要忘记

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.";
} 
}
?>

邮件发送时

于 2013-10-25T08:58:48.423 回答