我在index.php
<?php
echo '<form action="update_act.php" method="POST">';
echo '<input type="submit" name="'.$row['act_name'].'" value="edit">
echo </form>
?>
这里$ row ['act_name']是从数据库获取的值。
我的update_act.php文件是
<?php
echo "Old Activity Name : ".$_POST['$row[\'act_name\']'];
?>
但我收到错误Undefined index: $row['act_name'] in C:\wamp\www\ps\activity\update_act.php
。
我希望为不同的submits
使用不同的名称,但我无法在其他页面中获取其值。有什么办法吗?
答案 0 :(得分:3)
我不知道你要做什么,但如果变量$ row ['act_name']的值在两种情况下都是相同的(表单页面和更新脚本),那么你可以访问就这样:
echo "Old Activity Name : ".$_POST[$row['act_name']];
答案 1 :(得分:2)
使用$_POST[$row['act_name']]
。
答案 2 :(得分:2)
PHP only substitutes variables enclosed in double quotes "
。你想要的是:
echo "Old Activity Name : ". $_POST[$row['act_name']]
但是你的整个形式没有任何意义。你得到的输出是:
Old Activity Name : edit
因为这是提交按钮的值。
你能否澄清一下你的问题,你想达到什么目标?以下是我身边的一些想法:
也许你想要的更像是:
<form action="update_act.php" method="POST">;
<input type="hidden" name="act_name" value="<?php echo $row[act_name] ?>" />
<input type="submit" name="submit" value="edit">
</form>
// ---- other file ---
<?php
echo "Old Activity Name : ".$_POST['act_name'];
?>
为什么要为不同的提交提供不同的名称?
您想要区分不同的操作吗?如果是这样,按钮具有相同的名称并且您检查其值会更容易,例如:
<form action="update_act.php" method="POST">;
<input type="submit" name="submit" value="edit">
</form>
<form action="update_act.php" method="POST">;
<input type="submit" name="submit" value="delete">
</form>
然后
<?php
if($_POST['submit'] == 'edit') {
}
else if ($_POST['submit'] == 'delete') {
}
答案 3 :(得分:0)
echo "Old Activity Name : ".$_POST['$row[\'act_name\']'];
应该是
echo "Old Activity Name : ".$_POST["$row[act_name]"];
或
echo "Old Activity Name : ".$_POST[$row[act_name]];