使用isset时未定义的索引

MJ1*_*MJ1 4 php undefined isset

虽然我用过if(isset())但仍然得到

 Notice: Undefined index: user_name in C:\xampp\htdocs\www\jq\182-186 Users online sample application\users.php
Run Code Online (Sandbox Code Playgroud)

这是PHP 代码的一部分

if (isset($_POST['user_name']  , $_POST['action']) || isset($_POST['action'])){

    $user_name = $_POST['user_name'];
    $action = $_POST['action'];
Run Code Online (Sandbox Code Playgroud)

编辑:|| isset($_POST['action'])部分jquery检查需要每半秒进行DATABASE.

jQuery的

setInterval(function(){
    $.post('users.php', { action : 'list'} , function(data){
        $('#users_online').html(data);
        });


    },500);
Run Code Online (Sandbox Code Playgroud)

所以我无法删除它

Nie*_*sol 8

你的测试说:

  • 如果:
    • user_name已设置
    • 动作设定
  • 要么
    • 动作设定

这意味着只要action设置了,即使user_name没有设置,测试也会通过,就像错误消息中的情况一样.

只需删除该|| isset($_POST['action'])位,它应该可以正常工作.

还有一个+1,让我意识到我isset(...) && isset(...)所写的所有链条都是多余的XD

  • 这就是[docs](http://php.net/isset)所说的.考虑到我从文档中学到了我所知道的关于PHP的所有知识,但是在我写完答案之前,我一直不知道这一点,这让我感到很尴尬! (2认同)