【问题标题】:Storage $_SESSION['user'] on a var [duplicate]在 var 上存储 $_SESSION['user'] [重复]
【发布时间】:2016-03-17 08:54:30
【问题描述】:

是否可以在 var 中存储文字字符串:$_SESSION[user]

我试过了

$user = "$_SESSION['user']"; 

但这导致了一个错误:

解析错误:语法错误,意外'' (T_ENCAPSED_AND_WHITESPACE)

然后我尝试了:

$user = "$_SESSION[user]"; 

如果我回显$user 我得到一个数字 19,为什么?

我为什么需要这个?因为我使用的是fwrite,所以我正在使用我已经编写的 HTML 创建一个新的 PHP 文件,所以我的代码类似于:

if (isset($_POST['nameofph'])) {

  $fname = fopen($_POST['nameofph'].'.php','w+');
  fwrite($fname, $fdata);
  fclose($fname);
}

我不知道我解释得好不好,关键是我需要将那个“字符串”存储在 var $user 中。

【问题讨论】:

  • $user = $_SESSION['user']; ?
  • $_SESSION['user'] 是否被存储为字符串?你检查了吗..
  • $user = "$_SESSION['user']"; 或使用 $user = $_SESSION['user']; 应该可以工作 $user = "$_SESSION[user]"; 是完全错误的。
  • 人们迫切希望得到公认的答案@PrafullaKumarSahu 哈哈
  • @Tredged 我认为对于无法产生的问题或小的拼写错误,可以将其标记为题外话

标签: php string session var


【解决方案1】:

您必须这样做才能将会话值存储到变量中

$user = (string)$_SESSION['user']; 

【讨论】:

    【解决方案2】:

    您可以将$_SESSION["user"] 作为字符串存储到变量中,方法是在开头和结尾使用单引号并在INDEX 之前使用双引号。

    试试

    $user = '$_SESSION["user"]';
    

    DEMO

    【讨论】:

    • 他真的要在这里使用单引号'$_SESSION["user"]' 吗?我看不出它会起作用。单不解析变量,你不需要引号或双引号。
    • 对什么投反对票?
    • 你又错了。
    • 所以为什么你需要引用任何引号,只需使用 $_SESSION["user"]$_SESSION['user'] 。够了。
    • @PrafullaKumarSahu OP 希望将 $_SESSION["user"] 存储为变量的值,而不是将 $_SESSION["user"] 的值存储为变量的值。
    【解决方案3】:

    怎么样..

    $user = "\$_SESSION[user]"; 
    

    【讨论】:

      猜你喜欢
      • 2014-08-20
      • 1970-01-01
      • 2019-01-08
      • 2014-04-04
      • 1970-01-01
      • 2012-01-18
      • 2011-09-12
      • 1970-01-01
      • 2015-01-05
      相关资源
      最近更新 更多