【发布时间】:2018-08-14 11:59:03
【问题描述】:
我有一个插件可以在管理仪表板上创建一个菜单页面:
function dp_manage_admin_menu() {
add_menu_page('Manage Data', 'Manage Data', 'manage_options', 'manage-data', 'dp_manage_data_page', '');
add_submenu_page('manage-data', 'Add New', 'Add New', 'manage_options', __FILE__ . '/add-new', 'tm_add_new_page');
}
// Actions
add_action('admin_menu', 'dp_manage_admin_menu');
在那个页面manage-data,有一个从DB中删除数据的按钮:
<a href="<?php echo admin_url() ?>admin.php?page=manage-data/manage-data.php?id=<?php echo (isset($result->id)) ? $result->id : ""; ?>" class="btn btn-danger btn-sm">
<i class="fa fa-trash-o"></i> Delete
</a>
所以如果我点击第一个按钮,它会转到“http://example.com/wp-admin/admin.php?page=manage-data?id=1”
然后我检查是否发送了id,然后删除该结果:
if( isset($_GET['id']) ){
//Do something.
}
但是我得到一个错误,当我点击删除按钮时:
Sorry, you are not allowed to access this page.
我可以访问“http://example.com/wp-admin/admin.php?page=manage-data”,但是如果发送了任何参数我就无法访问了。
【问题讨论】:
-
看来你没有权限从数据库中删除
-
我有权做任何事情,我在另一个页面添加新数据,当我将删除重定向到该页面并发送该参数时,它已被删除
-
有助于回答此类问题的有趣部分是处理您的请求的代码(在
if( isset($_GET['id']) ){ … }内)。就目前而言,这个问题只能通过猜测来回答。 -
谢谢大家,问题出在网址中,我回答我的问题以显示它
-
或者我应该删除问题?