作为项目的一部分,我有一个表单,我们的客户可以在其中编辑我们在其中工作的关键字列表作为其SEO的一部分。
这是我用来在我们的数据库中显示我们为他们提供的关键字的代码
<?php
$c = true;
while($row = mysql_fetch_array($result))
{
$counter++;
echo "<div" .(($c = !$c)?' class="right"':'') . ">";
echo "<label for='keyword". $counter ."'>",
"<strong>Keyword " . $counter . " </strong></label>";
echo "<input type='text' name='keyword". $counter .
"' id='keyword". $counter ."' value='". $row['keyword'] . "' />";
echo "</div>";
}
?>
我不知道做什么是在将表单提交到电子邮件时收集数据。 我已准备好PHP邮件位,但在这方面苦苦挣扎。
有任何帮助吗?
答案 0 :(得分:1)
我建议将代码更改为:
<?php
$c = true;
while($row = mysql_fetch_array($result))
{
$counter++;
echo "<div" .(($c = !$c)?' class="right"':'') . ">";
echo "<label for='keyword". $counter ."'>",
"<strong>Keyword " . $counter . " </strong></label>";
echo "<input type='text' name='keyword[]' id='keyword". $counter ."' value='". $row['keyword'] . "' />";
echo "</div>";
}
?>
然后,您可以使用$_POST['keyword']
访问表单的目标php文件中的所有关键字(提交后),例如
foreach($_POST['keyword'] as $key => $value) {
echo "Keyword #". $key." value: ". $value."<br />";
// or your code to build your message
}
答案 1 :(得分:0)
不要命名“keyword1”,“keyword2”等输入,只需将它们全部命名为“keyword []”即可。提交表单时,PHP会将它们全部聚合到一个数组中。
答案 2 :(得分:0)
要使用POST数据(确保您的表单使用POST):
<?php
$message = '<ol>';
foreach($_POST as $key => $post) {
$message .= "<li><strong>Keyword " . $key . ":</strong>";
$message .= " <span>" . $post . "</span>";
$message .= "</li>";
}
$message .= '</ol>';
// mail the message here.
?>
答案 3 :(得分:0)
Brian和Ergo摘要是正确的,但是如果你不想修改while循环中的代码,你可以在最后插入一个保存最后$ counter值的隐藏输入。然后在目标php文件中(您将发送电子邮件),您可以加载POST字段(修改Stephen写的内容):
<?php
$counter = (int)$_POST['counter'];
$message = '';
for($i = 1; $i <= $counter; $i++){
$key = $_POST['keyword'.$i];
$message .= "<p>";
$message .= "<strong>Keyword " . $key . " </strong></label>";
$message .= "<span> " . $post . "</span>";
$message .= "</p>";
}
// mail message here.
?>