gpt4 book ai didi

php - 简单的mailto集成查询

转载 作者:行者123 更新时间:2023-11-29 13:17:11 24 4
gpt4 key购买 nike

好的,我有一封简单的邮件,我正在尝试根据一个简单的查询向我的所有成员发送电子邮件。问题是我一定错过了一些东西,因为表单只是重新加载并且没有发送任何内容。

email.php

<form method="post" action="massemail.php">

Subject:</br>
<input type="text" name="subject" /><br />

Message:</br>
<textarea name="details"></textarea><br />

<input type="submit" value="Send"/>
</form>

massemail.php

require 'core/init.php';
require_once "email.php";

$message = check_input($_POST['details']);
$subject = check_input($_POST['subject']);

$results = mysql_query('SELECT email from users');

while(list($email) = mysql_fetch_row($results))
{
mail($email, '$subject', '$message');
}

已经尝试过

    <?php
require 'core/init.php';
require_once "email.php";

$message = "test";
$subject = "123";

if ($results = mysql_query('SELECT email from users')) {

while(list($email) = mysql_fetch_row($results)) {

mail($email, '$subject', '$message');
}
?>

最佳答案

首先,您需要从每行中提取电子邮件地址,而不是使用该行本身。在您的情况下,可以使用 $row[0] 轻松实现这一点,因为您的查询始终只有一列,尽管您可能应该尝试使用 mysqli而不是已弃用的 mysql。

其次,我建议调用 mail() 一次,向所有人发送一封消息,而不是向每个人发送一封电子邮件!为什么要像这样一次又一次地发送同一封电子邮件?可以使用逗号分隔的电子邮件列表,如 PHP: mail - Manual 中所示。 .

如果您想使用 mysql,您的代码可能类似于 PHP Arrays和方便implode功能:

require 'core/init.php'; // calls mysql_connect(...)
require_once "email.php";

$message = check_input($_POST['details']);
$subject = check_input($_POST['subject']);

if (mysql_ping()) { echo 'Ping worked'; } else { echo 'Ping failed'; } // DEBUG
$results = mysql_query('SELECT email from users');

$emails = array();
while($row = mysql_fetch_row($results))
{
array_push($emails, $row[0]);
}
echo implode(", ", $emails); // DEBUG
if (!empty($emails)) {
mail(implode(", ", $emails), $subject, $message);
}

在我看来(在与您聊天时)您并不清楚 HTML Forms + PHP(GET 和/或 POST)的整个机制。您可能应该更多地了解所有这些内容,希望下面的代码对您有所帮助:

<?php
// Put requires here
?>
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>Demo form methods</h1>
<?php
if ((isset($_POST['subject']) && isset($_POST['body'])) || (isset($_GET['subject']) && isset($_GET['body']))) {

// Your code for sending an email could be here
?>

<h2>RESULTs</h2>
<ul>
<li>POST
<ul>
<li>suject: <?php echo $_POST['subject']; ?></li>
<li>suject: <?php echo $_POST['body']; ?></li>
</ul>
</li>
<li>GET
<ul>
<li>suject: <?php echo $_GET['subject']; ?></li>
<li>suject: <?php echo $_GET['body']; ?></li>
</ul>
</li>
</ul>

<?php
// The code above is just to show you how the variables in GET/POST work

} else {

// Below are two formulaires, you can keep one only of course!
?>

<h2>FORMs</h2>
<h3>GET method</h3>
<form method="get" action="email.php">
Subject: <input name="subject" type="text"><br>
Body: <input name="body" type="text"><br>
<input type="submit" value="Send with GET">
</form>
<h3>POST method</h3>
<form method="post" action="email.php">
Subject: <input name="subject" type="text"><br>
Body: <input name="body" type="text"><br>
<input type="submit" value="Send with POST">

</form>
<?php } ?>
</body>
</html>

关于php - 简单的mailto集成查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21315362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com