修复PHP注意:Wordpress上的“未定义索引”

tlt*_*t2w 2 php wordpress isset

我正在尝试在wordpress网站上修复未定义索引PHP通知。

目前,这就是我得到的:

    <?php if($_SESSION['currency-select'] == "a") echo 'selected="selected"';?>
Run Code Online (Sandbox Code Playgroud)

我试图用这种方式写,但是随后该站点崩溃了:

    <?php if(isset($_SESSION['currency-select'] == "a")) echo 'selected="selected"';?>
Run Code Online (Sandbox Code Playgroud)

另外,我有一个查询也没有isset,我正在尝试解决它:

                    if($_SESSION['currency-select'] == 'b') {

                if($_GET['pricing'] == '1') {

                    $args['meta_query'][] = array(

                        'key' => 'price',

                        'value' => array( '0', '250' ),

                        'compare' => 'BETWEEN',

                        'type' => 'numeric'

                    );

                }
Run Code Online (Sandbox Code Playgroud)

我试图写:

      if(isset($_GET['pricing'] == '1')) {
      if($_GET['pricing']) {
Run Code Online (Sandbox Code Playgroud)

但效果不佳。

感谢您的支持!

stU*_*Urb 5

尝试查看变量是否已设置,然后检查其内容。

if( isset($_GET['pricing']) && $_GET['pricing'] == '1' ){
   //- do some magic
}
Run Code Online (Sandbox Code Playgroud)

使用if子句检查子句本身isset()而不是变量。

ps:为什么将数字1检查为字符串1?


Rot*_*ham 5

只需转换您错误的isset() 检查即可。

if (isset($_GET['pricing'])) {
    $pricing = $_GET['pricing'];
}
Run Code Online (Sandbox Code Playgroud)

如果要分配默认值,简写版本将如下所示。

$pricing = (isset($_GET['pricing'])) ? $_GET['pricing'] : 0;
Run Code Online (Sandbox Code Playgroud)