繁体   English   中英

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

[英]Sending MySQL Table via PHP using HTML form

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

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

谢谢你们!

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

$table = '';


  1. 在循环内,在回显旁边,将字符串分配给变量:

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>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM