0

我在我的网站上建立了一个查询表单,这个想法不是每次用户提交查询时都给我发邮件,而是将它添加到我的数据库中,然后我可以通过我的后端系统去查看

每个查询将一一列出,下方有一个文本区域联系表,允许我单独回复每个查询

到目前为止我有这个(抱歉有点乱)

foreach ($listings as $row){
    $loop.= "<h3 class='text-center'>".$row['question']."</h3>";
    $loop.= "<p>".$row['message']."</p>";
    $loop.= "Name: <b>".$row['name']."</b>";
    $loop.= "<span class='pull-right'>Email: <b>".$row['email']."</b><br></span>";
    $loop.= "<div class='clearfix'></div>";
    if(isset($row['website'])){            $loop.="Website: <b>".$row['website']."</b>";        }
    $loop.= "<span class='pull-right'>Date: <b>".$row['date']."</b></span>";
    $loop.= "<form name='submit-response' method='POST'><fieldset>";
    $loop.= "<div class='form-group'>       <label for='Message".$counter."'>Your Message</label>     <textarea id='Message".$counter."' name='Message".$counter."' class='form-control' rows='5'></textarea>    </div>";
    $loop.= "<button type='submit' name='submit".$counter."' class='btn btn-default btn-block'>Reply</button>";
    $loop.= "</fieldset></form>";
}

在此之前是一个 foreach 循环,并且 oh 和 $counter 的开始设置为 nill

我想要的是每个联系表单都是唯一的,所以当我点击其中一个查询的发送时,它将被发送和删除,以便我可以发送另一个,我遇到的唯一问题是如果提交,我将如何解决已被击中,以及哪个提交已被击中

代码将需要测试哪个按钮被点击,并取决于哪个按钮然后将 mail() 发送给收件人

我非常坚持这一点,我不确定最好的行动方案,所以任何建议都非常感谢

卢克

4

3 回答 3

1

如果您单击标签内的提交按钮<form>,则只会提交该表单。

您可以包含一个隐藏字段,其中ID包含行的 。这样你就可以完全摆脱$counter变量。

此外,如果您打算只回显$loophtml,我不建议将 HTML 存储在 PHP 变量中。

<?php
foreach ($listings as $row)
{
    ?>
    <h3 class="text-center"><?php echo $row['question']; ?></h3>
    <p><?php echo $row['message']; ?></p>
    Name: <b><?php echo $row['name']; ?></b>
    <span class="pull-right">Email: <b><?php echo $row['email']; ?></b><br></span>
    <div class="clearfix"></div>
    <?php
    if(isset($row['website']))
    {
        ?>
        Website: <b><?php echo $row['website']; ?></b>
        <?php
    }
    ?>
    <span class="pull-right">Date: <b><?php echo $row['date']; ?></b></span>
    <form action="" name="submit-response" method="POST">
        <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
        <fieldset>
            <div class="form-group">
                <label>Your Message</label>
                <textarea name="Message" class="form-control" rows="5"></textarea>
            </div>
            <button type="submit" class="btn btn-default btn-block">Reply</button>
        </fieldset>
    </form>
    <?php
}
?>
于 2013-08-08T11:25:16.177 回答
0

为您的数据库表添加一个唯一的 id,并将其放入隐藏的输入中。

于 2013-08-08T11:19:54.723 回答
0

给每个表单一个id,并且可能每个提交按钮一个唯一的名称。通过这种方式,您可以轻松确定点击了哪个提交按钮,或者提交了哪个表单,然后将其删除或通过 javascript 处理。

$('form').each(function() {
  $(this).submit(function(event) {
    event.preventDefault();
    // Add AJAX code here
    $(this).remove();
  });
});

当然那是伪代码。

于 2013-08-08T11:20:46.560 回答