2011-12-19 68 views
0

我想在一个php页面中创建一个变量,然后使用它另一个PHP页面,有什么办法可以做到这一点?我如何发送一个变量跨越php页面

+0

这两个php页面如何相互连接?在浏览器中有链接?是这样的:[PHP的变量 - 乘以页面](http://stackoverflow.com/questions/6998386/php-variable-multiply-pages)? – hakre 2011-12-19 18:39:25

回答

0

你可以把会话变量的东西,可以在任何页面

0

如果你很在意连接两个PHP页面,你可以将其添加一个链接:

one.php:

<a href="two.php?variable=<?php echo rawurlencode($variable);>"link</a> 

two.php:

<?php echo htmlspecialchars($_GET['variable']); ?> 

请参阅​​和$_GET­Docs

1

使用会话变量。

首先,您想要使用会话的每个页面都需要具有函数session_start();在每页的顶部宣布。然后,您可以使用超全局会话来存储事物。

Page1.php: 
    <?php 
    session_start(); 
    $_SESSION['variable_name'] = 'some string'; 
    ?> 

Page2.php: 
    <?php 
    session_start(); 
    echo $_SESSION['variable_name']; 
    ?> 

使page2.php会显示:一些字符串

可以存储字符串,整数,数组等好运气。

+0

@ p.campbell谢谢,我在那里困惑了一秒,因为我正在做你所做的事情,你只需要10秒就能击败我。 – TamDenholm 2011-12-19 18:48:42

1

有很多方法可以做到这一点,这取决于您的设置和您的需求。

  • 其中最常见的方法是使用session变量。这将以一种可在PHP应用程序中的任何位置访问的方式存储服务器端的值。尽管如此,价值最终会超时并且如果不在其他地方持续存在,将会丢失。
  • 您可以将值存储在cookie中。这意味着浏览器每次访问页面时都会发送该值,所以网络开销会增加一点。这将允许您将Cookie设置为永不过期,以便在多次访问网站时该值始终保持不变。但是,由于存储在客户端,Cookie也受到用户的支配。有些用户可能不允许您设置cookie,有些可能会在之后删除它们等。
  • 您可以将该值存储在某种持久性服务器端存储设备中,例如database或甚至只是file。这将允许您管理数据服务器端并将其持久性与PHP应用程序分开,因为应用程序对于长期数据持久性而言更加短暂且不可靠。
  • 您甚至可以将该值添加到一个页面中的超链接,以将其作为URL参数传递给其他页面。例如:<a href="otherpage.php?value=<?php echo urlencode($someValue) ?>">click here</a>这将允许您将值传递到下一页,然后在使用后将其完全遗忘,如果您不需要保留其他值。

与许多事情一样,您有很多选择。

0

您需要一个会话变量。 让这样的:

$_SESSION['my_var'] = 'your_value'; 

然后,你只需要无处不在,你需要它作为一个全局变量来使用$_SESSION['my_var']。 请注意,您必须将session_start();放在想要使用PHP会话的任何地方的文件代码的第一行。