我可以在输入类型文本字段中使用多少封电子邮件以及如何在不使用PHP会话的情况下将多封电子邮件从一个页面传递到另一个页面?

时间:2017-07-25 01:45:15

标签: php arrays input

第1期

我有更多的电子邮件,我在输入类型文本字段中手动输入。我的意思是只从excel表复制并粘贴到文本字段中。

只是想知道, 1)我可以在单个输入文本中添加超过一千个电子邮件吗?如果是,那么我可以添加多少封电子邮件?

第二期

该领域有成千上万的电子邮件,我必须将该电子邮件从一个页面发送到另一个页面而不使用会话。

page1.php中

<form action="process.php?key=addemail" method="post">
<input type="text" name="emailtemplate[]" placeholder="Enter email name" class="form-control">
 <input type="text" name="subject" placeholder="Subject" class="form-control">
<textarea name="mailbody" id="editor1" class="form-control"></textarea>
<input type="submit" name="addmail" value="Add mail" class="v-btn v-btn-primary">
</form>

第2页

function addemail($conn)
{
  $to=$_POST['emailtemplate'];
  $subject =$_POST['subject'];
  $mailbody=$_POST['mailbody'];
  sendMail($to, $subject, $mailbody );
}

我正在尝试cheeck echo $to,但我收到错误

Notice: Array to string conversion  on line 173
Array 

你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您的addemail函数可能看起来像这样,以便工作正常:

function addemail( $conn ){
    $subject = filter_input( INPUT_POST, 'subject', FILTER_SANITIZE_STRING );
    $mailbody = filter_input( INPUT_POST, 'mailbody', FILTER_SANITIZE_STRING );
    foreach( $_POST['emailtemplate'] as $t ){
        $recipient = filter_var( $t, FILTER_SANITIZE_EMAIL );
        sendMail( $recipient, $subject, $mailbody );
    }
}

请注意,这是未经测试的。我没有看到参数$conn用于实例......但是$ _POST ['emailtemplate']是一个数组,你需要迭代它。我也像你一直应该从表单中过滤你的输入。这样,从任何代码注入中你都会更加安全......