Php 多种动态接触形式
我已经在我的网站上建立了一个查询表单,其想法是在每次用户提交查询时,将其添加到我的数据库中,然后我可以通过我的后端系统去查看,而不是给我发邮件 每一个查询都会一个接一个地列出,下面有一个文本区联系表,允许我单独回复每个查询 到目前为止,我有这个(对不起,有点乱)Php 多种动态接触形式,php,Php,我已经在我的网站上建立了一个查询表单,其想法是在每次用户提交查询时,将其添加到我的数据库中,然后我可以通过我的后端系统去查看,而不是给我发邮件 每一个查询都会一个接一个地列出,下面有一个文本区联系表,允许我单独回复每个查询 到目前为止,我有这个(对不起,有点乱) foreach($listings作为$row){ $loop.=''.$row['question'].''; $loop.=“”$row['message']。“”; $loop.=“名称:”.$row['Name']。”; $lo
foreach($listings作为$row){
$loop.=''.$row['question'].'';
$loop.=“”$row['message']。“”;
$loop.=“名称:”.$row['Name']。”;
$loop.=“电子邮件:”.$row['Email']。“
”;
$loop.=“”;
if(isset($row['website']){$loop.=“网站:”.$row['website']);}
$loop.=“日期:”.$row['Date']。”;
$loop.=“”;
$loop.=“您的邮件”;
$loop.=“回复”;
$loop.=“”;
}
在这之前是一个foreach循环,oh和$counter的开头设置为nill
我想要的是每个联系人表单都是唯一的,因此当我单击其中一个查询上的“发送”时,它将被发送和删除,以便我可以发送另一个查询,我唯一的问题是确定如果点击了提交,我将如何计算,以及点击了哪个提交
代码将需要计算哪个按钮被点击,并根据哪个按钮将邮件()发送给收件人
我在这一点上非常困惑,我不确定最好的行动方案,所以任何建议都非常感谢
Luke向数据库表中添加一个唯一的id,并将其放入隐藏的输入中。为每个表单指定一个
id
,并可能为每个提交按钮指定一个唯一的名称。通过这种方式,您可以轻松确定点击了哪个提交按钮,或者提交了哪个表单,并将其删除或通过javascript处理
$('form').each(function() {
$(this).submit(function(event) {
event.preventDefault();
// Add AJAX code here
$(this).remove();
});
});
当然,这是伪代码。如果单击
标记内的提交按钮,则只会提交该表单
您可以包含一个隐藏字段,其中包含行的ID
。这样,您就可以完全摆脱$计数器
变量
另外,如果您计划只回显$loop
html,我不建议将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
}
?>
姓名:
电子邮件:
网站:
日期:
感谢php和html的建议,当我去实现它时,我发现了另一个问题,那就是_POST变量在标记中使用时不会被发送,谁知道呢?因此,我添加了大量隐藏输入,以将_POST数据传递到下一页。谢谢大家的帮助
<?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
}
?>