【问题标题】:How create SESSION with dynamically name?如何使用动态名称创建 SESSION?
【发布时间】:2013-11-21 16:33:07
【问题描述】:

示例代码: 我有变量 $getname 从 url GET

获取信息
$getname=$_GET['id'];

如果可以像这样存储会话,因为它对我不起作用。

$_SESSION[$getname]=$_GET['id'];

因为我需要为每个 id 单独创建具有相同值的会话。

问题已解决: $getname='name'_$_GET['id']; //因为 $_GET['id'] 是一个数字,不能是会话名称。

$_SESSION[$getname]=$getname;

【问题讨论】:

    标签: php variables session store


    【解决方案1】:

    你可以这样做..

    $getname=$_GET['id'];
    $_SESSION[$getname]=$getname;
    

    所以你可以访问像

    echo $_SESSION[$getname]; //Prints what you really had in the $_GET['id'] variable from the URL
    

    一个简单的例子..

    <?php
    session_start();
    $getname="hello";
    $_SESSION[$getname]=$getname;
    echo $_SESSION[$getname];
    

    输出:

    hello
    

    【讨论】:

    • 谢谢。这就是我要找的。​​span>
    • 但这是我遇到的一个问题。例如,如果 $getname='asdas'; //如果字符串在这里但是如果在$_GET['name']下面是数字,它就不起作用了。
    • 那是因为变量名从不以numbers开头
    • 我明白了。我需要的是使用像(字符串)这样的强制转换运算符。因为我失去了理智。 SESSION 不能将数字存储为名称。
    • 完美。我看到的最好的解决方案
    【解决方案2】:

    $_SESSION 则相反:

            $getinput = $_GET['id'];
            $_SESSION['name your session here']=$getinput
    

    ;

    【讨论】:

    • 我和我一样都知道。但我需要 $_SESSION['name your session here'] 'name your session here' 与 $getinput 完全相同。
    • 我已经解决了这个问题,因为我尝试将数字作为会话变量名称 X_x。谢谢你帮助我。示例代码:$getinput = $_GET['id']; $_SESSION[$getinput]='name_'.$getinput;而且效果很好。
    • 乐于助人,愉快的编码:)
    【解决方案3】:

    为什么要创建一个与值具有完全相同键的数组元素?只需创建一个可以稍后迭代的 ID 数组:

    $_SESSION['needed_ids'][] = $_GET['id']

    添加一些检查以首先干净地创建数组,并过滤​​传入的数据。

    【讨论】:

      猜你喜欢
      • 2014-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 2019-04-27
      • 2016-04-11
      • 1970-01-01
      • 2015-02-27
      相关资源
      最近更新 更多