【问题标题】:How to set URL variable when user lands on page?当用户登陆页面时如何设置 URL 变量?
【发布时间】:2013-04-08 01:39:56
【问题描述】:

在我的主页上,它有分页,但这种分页仅在 URL 中设置了页面变量时才有效,例如http://www.example.com/index?page=1

但是,如果用户只是登陆我的索引页面,它不会设置页面变量,并且我的页面上的结果不会显示,因为没有设置页码,所以我想知道是否有设置方法当用户刚刚登陆页面并且变量未设置时的 URL 变量?

【问题讨论】:

  • $page = isset($_GET['page']) ? $_GET['page'] : 1;

标签: php url variables


【解决方案1】:

定义一个变量

$page 为默认值并使用 isset

你可以用来获取 $_GET[] 值(如果存在或不存在)

if(isset($_GET['page'])){
   $page = $_GET['page']
}
else{
   $_GET['page'] = //set default value for page..
}

【讨论】:

  • 谢谢,虽然我用 $_GET['page'] 代替了 $page 并且效果很好,谢谢
【解决方案2】:

我建议你这样做:

$page = 1;
if (isset($_GET['page'])) {
    $page = $_GET['page'];
}

不要在你的代码中使用$_GET['page'] - 使用$page

【讨论】:

    【解决方案3】:

    您可能会考虑的一些事情...

    // php will evaluate to false for the empty string as well as zero, so this forces a set to zero
    if (!$_REQUEST["page"])
      $_REQUEST["page"] = 0;
    

    或者……

    // check if the variable is set first...
    if (!isset($_REQUEST["page"]))
      $_REQUEST["page"] = 0;
    

    如果您正在使用 $_GET 数组,您也可以这样做。

    【讨论】:

      【解决方案4】:

      这样的东西应该可以工作

      $options = array('options' => array(
          'default' => 1, // value to return if the filter fails
          'min_range' => 1
      ));
      if(isset($_GET['page'])){
          $page = filter_var((int)$_GET['page'], FILTER_VALIDATE_INT, $options);
      }else{
          $page = 1;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        • 1970-01-01
        • 2016-04-28
        • 2020-05-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多