验证后预填充的Textarea重复 - PHP

时间:2014-02-18 19:23:29

标签: php forms

我有一条消息,我需要预先填写textarea。用户可以编辑此消息。

如果存在表单验证错误,则每次发生错误时,该消息似乎都会重复。

<textarea name="comments" rows="20" style="width:99%;"><?=$fields['comments']?>TEXT  
 HERE</textarea>

我不认为这是由于验证而导致的错误,而是保存内容并将其添加到现有预填充消息的字段。

有没有办法可以加载邮件并让用户编辑它而不会重复?

我可以提供任何必要的代码。我目前正在使用此代码进行验证: https://github.com/benkeen/php_validation

<?php
session_start();

$_SESSION['name'] = $_POST['name'];
$_SESSION['senders_email'] = $_POST['senders_email'];
$_SESSION['address'] = $_POST['address'];
$_SESSION['city'] = $_POST['city'];
$_SESSION['state'] = $_POST['state'];
$_SESSION['comments'] = $_POST['comments'];

//e-mail message text
$body=<<<_MSG_
Hello,

$comments

Sincerely,

$name
$address
$city
$state
_MSG_;
$text = strip_tags($body);

$errors = array();
$fields = array(); 
$success_message = "";

if (isset($_POST['submit']))
{
require_once("validation.php");

$rules = array(); // stores the validation rules

$rules[] = "required,name,Your <em>Name</em> is required.";   
$rules[] = "required,senders_email,Your <em>E-mail</em> is required.";
$rules[] = "valid_email,senders_email,Please enter a valid e-mail address."; 
$rules[] = "required,address,Your <em>Address</em> is required.";  

$errors = validateFields($_POST, $rules);

if (!empty($errors))
{
$fields = $_POST;
}

// no errors! redirect the user to the thankyou page (or whatever)
else
{
mail($to,$subject,$text,$headers);
header( "Location: thanks.php" );
}
}
?>

0 个答案:

没有答案