【发布时间】:2018-03-23 08:59:57
【问题描述】:
有人可以帮我修复我的代码吗?
我想根据 HTML 表单检索我的数据库中的一些数据并通过电子邮件 (PHP) 发送。
HTML FORM:(此表单工作正常,我在这里没有发现任何问题)
<form method="post" action="valid_tasks.php">
<div class="form-group">
<label for="mailTo">To:</label>
<select class="form-control" id="mailTo" name="mailTo">
<?php echo showUsers(); ?>
</select>
</div>
<div class="form-group">
<label for="statusTo">Task Status:</label>
<select class="form-control" id="statusTo" name="statusTo">
<?php echo showStatus(); ?>
</select>
</div>
<input type="submit" name="submitMail" id="submitMail" class="btn btn-info" value="Send" style="margin-bottom: 20px;">
</form>
PHP:(我将此代码用作另一个页面上的函数,它似乎也可以正常工作,有点不同,但可以)
<?php
require_once('db.class.php');
$objDb = new db();
$link = $objDb->conecta_mysql();
if(isset($_POST['submitMail']))
{
$status = $_POST['statusTo'];
$userMail = $_POST['mailTo'];
$id = $_SESSION['id'];
$username = $_SESSION['username'];
$query = "SELECT T.setor, T.taskWhat, T.taskWho, DATE_FORMAT(T.deadLine,'%d/%m/%Y') AS deadLine,";
$query .= "T.taskStatus, U.username, U.email, S.descricao, S.abDescri";
$query .= "FROM tarefas AS T LEFT JOIN status AS S ON T.taskStatus = S.abDescri ";
$query .= "LEFT JOIN users AS U ON U.username = T.taskWho ";
$query .= "WHERE T.taskWho = '$userMail' AND S.abDescri = '$status'";
$result = mysqli_query($link, $query);
while($row = mysqli_fetch_assoc($result)){
$setor = $row['setor'];
$taskWhat = $row['taskWhat'];
$taskWho = $row['taskWho'];
$deadLine = $row['deadLine'];
$taskStatus = $row['taskStatus'];
$userAcao = $row['username'];
$emailAcao = $row['email'];
$statusDescri = $row['descricao'];
$statusAb = $row['statusAb'];
$setor = mysqli_escape_string($link, $setor);
$taskWhat = mysqli_escape_string($link, $taskWhat);
$taskWho = mysqli_escape_string($link, $taskWho);
$deadLine = mysqli_escape_string($link, $deadLine);
$taskStatus = mysqli_escape_string($link, $taskStatus);
$userAcao = mysqli_escape_string($link, $userAcao);
$emailAcao = mysqli_escape_string($link, $emailAcao);
$statusDescri = mysqli_escape_string($link, $statusDescri);
$statusAb = mysqli_escape_string($link, $statusAb);
echo
'<tr>
<td>'.$setor.'</td>
<td>'.$taskWhat.'</td>
<td>'.$deadLine.'</td>
<td>'.$taskWho.'</td>
<td>'.$statusAb.'</td>
</tr>';
}
}
Email:(我看过很多关于如何使用它的例子,但没有一个是关于从 HTML 表单中获取信息并将其放入 PHP Mail)
$to = $email;
$subject = "Tarefas com status ".$status;
$message = "
<html>
<head>
<title>HTML email</title>
<link rel='stylesheet' type='text/css' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'>
</head>
<body>
<div class='container'>
<center><h1>Hello, ".$username."!</h1></center>
</div>
// I NEED TO PUT THIS INFO HERE
</div>
</body>
</html>
谢谢大家!
【问题讨论】:
-
你能发布一些你遇到的错误吗?
-
看看phpMailer。你需要包括图书馆。这是来自 html 联系表单 github.com/PHPMailer/PHPMailer/blob/master/examples/… 的示例
-
我不知道如何将该信息显示到电子邮件脚本中。我认为我的 HTML 和 PHP 工作正常。
-
字符串就是字符串就是字符串。如果要发送数据库结果,请将其分配给字符串而不是回显,然后将其插入到电子邮件的 html 中。
-
Ralph,我正在从 HTML 表单中获取值,并使用它们与 PHP 一起从 MySQL 中检索一些数据。但我不知道如何在邮件中显示它们。
标签: php html mysql forms email