致命错误:函数名称必须是第37行C:examplephtdocsSkripsipublicMembe


Fatal error: Function name must be a string in C:xampphtdocsSkripsipublicMemberprofile.php on line 37

在我用echo"$_SESSION('success')"检查后;它说我的会话在数组中$_SESSION("成功")在登录后填写用户名。

<?php
      $uname=$_SESSION("success");
      $sql = $mysqli->query("SELECT * FROM `msuser` WHERE `Username` = '".$uname."' AND `Status` > 0");
      if($sql->num_rows>0)
      {
        while($row=$sql->fetch_assoc())
        {
          ?>
          <table>
          <tr>
              <td>Username:<?php echo $row["Username"]; ?></td>
          </tr>
            <tr>
              <td>Name:<?php echo $row["Name"]; ?></td>
            </tr>
            <tr>
              <td>Email:<?php echo $row["Email"]; ?></td>
            </tr>
            <tr>
              <td>Address:<?php echo $row["Address"]; ?></td>
            </tr>
            <tr>
              <td>Phone: <?php echo $row["Phone"]; ?></td>
            </tr>
            <tr>
              <td>Role:<?php echo $row["Role"] ?></td>
            </tr>
          </table>
        <?php
        }
      }
        ?>

这是我的登录验证码:

$uname=$_POST["uname"];

$sql=$mysqli->query("SELECT*FROM msuser WHERE Username='".$uname."'AND Password=md5('".$pass."')AND Status>0");if($sql->num_rows>0){setcookie(user,$pass,time()+(86400*30),"/");$_COOKIE[用户];

        while($row=$sql->fetch_assoc())
        {
            if($row["Role"] == "Admin")
            {
                $_SESSION["success"]=$uname;
                header("Location: ../../../public/Admin/home.php");
            }
            else
            {
                $_SESSION["success"]=$uname;
                header("Location: ../../../public/Member/home.php");
            }
        }
    }

PHP会话变量格式类似于$_SESSION['variable_name']

因此,在您的情况下,它应该是$_SESSION['success'],而不是$_SESSION("success");

顺便问一下,你用session_start();开始会话了吗?