我在编写PHP / SQL项目时遇到问题。它基本上是一个书籍数据库,每本书都有其所有者数据。我设置了一个查询来检索与查询匹配的每本书;我想要做的是能够选择其中一个结果,将其数据发布到另一个PHP文件(它将向该书的所有者发送邮件)。我写了这样的代码
$sql = "SELECT * FROM mydb WHERE parameter LIKE '%$value%' OR parameter LIKE '$value%' OR parameter LIKE '%$value'"; $result=mysql_query($sql);
$num = mysql_num_rows($result);
$i = 0; while ($i < $num) {
$attribute = mysql_result($result,$i,"attribute");
$mail = mysql_result($result,$i,"mail");
echo "
<form action=\"mailform.php\" method=\"post\"/><table border=\"1\">
<tr><
<td>$attribute</td>
<td>$mail</td>
<td><input type=\"submit\" value=\"Submit\"/></form></td>
</tr>
</table>
";
$i++;
}
查询正常,我得到了结果。 mailform.php以这种方式设置
<?php
$mail = $_POST['$mail'];
?>
当我点击提交按钮时,我被重定向到mailform.php,但是我收到此错误: 注意:未定义的索引:$ emailproprietario
我做错了什么? 提前致谢
答案 0 :(得分:0)
你的html格式错误 - 表格跨越表单而不是嵌套,有一个额外的,无法匹配的尖括号,表单标签是自动关闭的,你不从表单发送任何数据。考虑:
<form action=\"mailform.php\" method=\"post\">
<table border=\"1\">
<tr><td>$attribute</td>
<td>$mail</td>
<td><input type=\"submit\" value=\"Submit\"/>
<input type=\"hidden\" name=\"attribute\" value=\"$attribute\">
<input type=\"hidden\" name=\"mail\" value=\"$mail\">
</td>
</tr>
</table>
</form>