0

在 PHP 中,我设置了一个错误消息系统,如果用户在已经登录时尝试登录或注册,则会显示错误。当用户单击按钮时,它将被重定向到与?m=You_are_already_logged_in!末尾相同的页面网址。然后我通过 GET 函数获取这个输入:

if($_GET['m'] == "You_are_already_logged_in!"){
    $_GET['m'] = preg_replace ('#[^a-z!:]#i', ' ', $_GET['m']);
    $message = $_GET['m'];
}

但是当我加载没有消息值的页面时,它会给出一条错误消息:

Notice: Undefined index: m in C:\xampp\htdocs\secret_project\index.php on line 9

有没有办法绕过这条消息?有解决方案还是我应该尝试不同的方法?

4

2 回答 2

0

您需要在尝试读取之前isset()检查密钥是否存在:m

if(isset($_GET['m']) && $_GET['m'] == "You_are_already_logged_in!") {...}
于 2014-01-22T20:40:41.663 回答
0

那 - isset()

<?php

  if(isset($_GET['m']) AND $_GET['m'] == "You_are_already_logged_in!"){
      $_GET['m'] = preg_replace ('#[^a-z!:]#i', ' ', $_GET['m']);
      $message = $_GET['m'];
  }
于 2014-01-22T20:41:47.293 回答