0

我的项目使用与 Facebook 相关。当用户登录$user时,这个页面中的变量是知道这个变量,但对于其他页面是没有的。所以我想知道如何使用没有表单的PHP来传递变量?我已经在尝试声明会话,但这是不可能的,因为它处于 if 条件

        <?php 
             if ($user):            
                 echo 'Name:'. $user_profile['id']."<br />";
                 echo 'Name:'. $user_profile['name']."<br />";
             else: 
        ?> 

$user_profile['id']是我想要传递给其他页面的内容。

4

3 回答 3

1

你可以用会话来做

session_start();
$_SESSION['user_profile'] = $user_profile['id'];

并在您想要存储变量的每个页面上使用会话变量

在每个其他页面上,您都可以像这样检索变量值

    session_start();
    $user_profile['id'] = $_SESSION['user_profile'];  
于 2013-04-20T10:38:11.550 回答
1

您可以使用会话来存储数据并在其他页面中使用

只需在页面顶部添加一个会话

session_start();

然后

//On first page
$_SESSION['user_profile'] = $user_profile['id'];

//On second page
$user_profile = $_SESSION['user_profile'];

所以现在你可以回应它

echo $user_profile;

UPDATED

我想你也可以这样cookies

//One first page
$_COOKIE['variable_name'] = $variable_value;

//On second page
$variable_value = $_COOKIE['variable_name'];

这两者之间的区别在于,在第一种情况下,变量将存储在服务器端的会话中,而 cookie 将变量存储在客户端。

于 2013-04-20T10:38:34.203 回答
1

试试APC ..

在第一页使用这个

    <?php
    $bar = $user_profile['id'];
    apc_store('foo', $bar);
?>

并在其他页面上执行此操作

<?php
    apc_fetch('foo');
    ?>

使用替代 php catch .reduce 50% 的时间比会话

APC 功能

apc_store — 在数据存储中缓存一个变量

apc_fetch — 从缓存中获取存储的变量

于 2013-04-20T10:41:01.813 回答