gpt4 book ai didi

php - 使用 HTML 表单通过 PHP 发送 MySQL 表

转载 作者:行者123 更新时间:2023-11-30 21:52:22 25 4
gpt4 key购买 nike

有人可以帮我修复我的代码吗?

我想基于 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>';

}
}

电子邮件:(我看过很多关于如何使用它的示例,但没有一个是关于从 HTML 表单获取信息并将其放入 PHP 邮件)

$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>

谢谢大家!

最佳答案

  1. 在脚本顶部定义一个变量

$table = '';


  1. 在循环内,在 echo 旁边,将字符串分配给一个变量:

echo 
'<tr>
<td>'.$setor.'</td>
<td>'.$taskWhat.'</td>
<td>'.$deadLine.'</td>
<td>'.$taskWho.'</td>
<td>'.$statusAb.'</td>
</tr>';

$table .= ""
. "<tr>"
. "<td>$setor</td>"
. "<td>$taskWhat</td"
. "<td>...</td>"
. "</tr>"
;

  1. 完成后,将其添加到 $message 变量中:

 $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>
$table
</div>
</body>
</html>";

关于php - 使用 HTML 表单通过 PHP 发送 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46692390/

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