我的问题接近于此:PHP:2个表单不同的动作页面,只有1个表单动作有效
我正在制作一个php页面,从form1中获取学生姓名的搜索值并列出匹配的学生姓名,每个姓名下都有一个"删除学生"按钮(表格2)现在表单2 action=delete.php不起作用。
<?php $results = array();
$results = mysql_fetch_array($raw_results);
echo ''.$ln.' matches found as following:';
for($i=0;$i<$ln;$i++){ ?>
<ul data-role="listview" data-divider-theme="d" data-inset="false">
<li data-role="list-divider" role="heading">
<?php echo 'StudentName:'; echo (" $results[3] "); ?>
</li>
<li data-theme="c">
<?php echo 'Email:'; echo (" $results[4] "); ?>
</li></ul>
<?php echo' <form name="form1" method="post" action="delete.php"> /*here is the problem*/
<input type="button" name="delete" class="button red" value="Delete member">
<input type="hidden" name="id" value="'. $results[0].'" >
</form> '; ?>
你可能会问,为什么我用echo打印表单?因为我也尝试过,但没有成功:
<form name="form1" method="post" action="delete.php">
<input type="button" name="delete" class="button red" value="Delete member">
<input type="hidden" name="id" value="<?php echo $results['0']; ?>" >
</form>
这是deletestudent.php
<?php
include ('connect.php');
if (isset($_POST['delete'])) {
$mid=$_POST['id'];
mysql_query(" DELETE FROM member WHERE (m_id='$mid') ");
}
?>
希望理由清楚,如果需要,我准备写更多细节。
您没有提交表单。
<input type="button" name="delete" class="button red" value="Delete member">
应该是
<input type="submit" name="delete" class="button red" value="Delete member">
只有按下Submit按钮时,表单的action属性才会自动执行。
尝试这样更改您的代码:
<input type="submit" name="delete" class="button red" value="Delete member">
"提交"按钮类型将自动触发操作,并应按预期将表单输入作为发布参数传递。