首页 > 解决方案 > GET 变量在 PHP 脚本中不起作用。主题支持天这是一个服务器问题

问题描述

我在一个主题中有一个 php 脚本在 $_GET 变量中失败。主题支持说这不是他们的问题,而是服务器端的一些问题。您的主题和插件文件中的 $_GET 无法以某种方式工作。我不知道如何解决这个问题..有人可以帮忙吗?

<?php do_action( 'bp_before_course_results' ); ?>

<?php
$user_id=get_current_user_id();

if(isset($_GET['action']) && !is_numeric($_GET['action'])){
                echo '<div id="message"><p>'.__('Invalid Results','vibe').'</p></div>';
}else{

        if(isset($_GET['action']) && $_GET['action']){ // Check Action
                $id = intval($_GET['action']);
                $post_type = get_post_type($id);
                do_action('wplms_get_'.$post_type.'_result',$id,$user_id);
        }else{ // Show all Results
                do_action('wplms_get_user_results',$user_id);
        }

}
?>
<?php do_action( 'bp_after_course_results' ); ?>

标签: phpwordpressget

解决方案


我相信您的问题在于您的条件/如果:

if(isset($_GET['action']) && !is_numeric($_GET['action'])){

如果我正确阅读了您的逻辑,我认为应该是:

if(!isset($_GET['action']) || !is_numeric($_GET['action'])){

本质上说,如果未action设置参数或action参数不是数字,则打印无效结果消息。


推荐阅读