我正在尝试将变量传递给disable.php,然后将更新数据库中的一行,所有这些都在我正在构建的wordpress插件中。我不明白为什么这不起作用。
继承我的表格
<form method='post' action='".plugins_url()."/myremovalsquote/inc/disable.php''>
<input type='submit' name='".$_SESSION['id'] = $active_partner->partner_id."' class='button-primary' id='disable' value='Disable'/>
</form>
继承我的/disable.php
global $wpdb;
$id = $_SESSION["id"];
$wpdb->query("UPDATE partners SET active='no' WHERE partner_id='".$id."'");
header("Location: http://www.website.com/wp-admin/admin.php?page=my-plugin-settings");
这是我得到的错误,似乎会话中的变量没有被转移到disable.php。
答案 0 :(得分:0)
除了我的评论之外,您可以使用隐藏的输入字段,也可以存储要在会话中一起读取和发送的值。对于第一个解决方案:
<form method='post' action='/myremovalsquote/inc/disable.php'>
<input type="hidden" name="id_to_be_disabled" value="<?= $active_partner->partner_id; ?>">
<input type='submit' class='button-primary' id='disable' value='Disable'/>
</form>
对于第二个解决方案,只需使用session_start();
调用会话并将值存储在其中。无需摆弄提交按钮名称。
答案 1 :(得分:0)
您的表单中存在名称和值的错误。试试这个:
<form method='post' action='".plugins_url()."/myremovalsquote/inc/disable.php"'>
<input type='submit' name='id' value='" . $active_partner->partner_id."' class='button-primary' id='disable' value='Disable'/>
</form>
我也希望在这里有一个隐藏的领域。
答案 2 :(得分:-1)
将session_start()放在你的/disable.php
上