如何对请求[‘action’]调试‘NOTICE:UNDefined INDEX’

时间:2013-11-19 作者:Unix

我使用下一段代码来保存主题的选项(通过使用Wp设置API),但当我调试它时,我会得到\'Notice: Undefined index: action\' 错误/通知。

为了修复它,我在第一个$\\u请求之前添加了“isset()”。现在通知没有出现,但当我单击“保存”按钮时,选项没有保存。我做错了什么?我怎样才能修复它?提前谢谢你。

function mytheme_add_admin() {
global $themename, $options;
if ( isset( $_GET[\'page\'] ) && $_GET[\'page\'] === basename(__FILE__) ) {
    if(isset( $_REQUEST["action"] ) && $_REQUEST["action"] === \'save\') {
            foreach ($options as $value) {
                update_option( $value[\'id\'], $_REQUEST[ $value[\'id\'] ] ); }
            foreach ($options as $value) {
                if( isset( $_REQUEST[ $value[\'id\'] ] ) ) { update_option( $value[\'id\'], $_REQUEST[ $value[\'id\'] ]  ); } else { delete_option( $value[\'id\'] ); } }
            header("Location: themes.php?page=theme-options.php&saved=true");
            die;
    } else if(isset( $_REQUEST["action"] ) && $_REQUEST["action"] === \'reset\') {
        foreach ($options as $value) {
            delete_option( $value[\'id\'] ); }
        header("Location: themes.php?page=theme-options.php&reset=true");
        die;
    }
}
add_theme_page($themename." Options", "".$themename." Options", \'edit_themes\', basename(__FILE__), \'mytheme_admin\');
}

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

进行一点简单的调试,一切都很清楚。

$REQUEST[\'action\'] 是在这种情况下设定的,所以我的第一个猜测不是真的,但是。。。其值为“save”,而不是“page”或“reset”。所以你的代码什么都不做,因为这样的值没有if部分;

结束

相关推荐