使用PHP将变量从一个页面传递到另一个页面

问题描述:

是否有人知道下面的代码有什么问题,导致我无法在File2.php中打印变量$myusername,从File1.php使用PHP将变量从一个页面传递到另一个页面

我只是想打印变量$myusername,或者如果您知道任何其他方式如何通过该变量,这将对我非常有用。

这是我的例子:

File1.php

<?php 
$myusername=$_POST['myusername']; 

function getusername() 
{ 
    return $myusername;  
} 
?> 

File2.php

<?php 
require_once('File1.php'); 
getusername(); 
?> 
+0

尝试阅读会话 – Gntem 2012-07-05 16:00:00

+0

“无法打印”是什么意思?你能在这里粘贴你得到的任何错误信息吗? – taz 2012-07-05 16:00:41

需要声明$myusername全球,当您试图访问它在功能范围内,你也需要以某种方式打印(例如echo);)

File1.php 
<?php 
$myusername=$_POST['myusername']; 

function getusername() 
{ 
    global $myusername; // declare as global 
    return $myusername;  
} 
?> 

File2.php 
<?php 
    require_once('File1.php'); 
    echo getusername();  // echo value 
?> 

了解更多:PHP Variable scope。 您也可以通过$_SESSION传递它。

+0

你确定这个例子有效吗?我尝试了同样的一个复制粘贴代码仍然dosnt显示任何东西。 – Lulzim 2012-07-05 16:10:01

+0

我编辑了我的答案,它没有显示任何内容,因为没有'echo'。 – Zbigniew 2012-07-05 16:14:14

+0

仍然不能正常工作:S – Lulzim 2012-07-05 16:19:49

按会话。

File1.php

<?php 
session_start(); 
$_SESSION['myusername'] = $_POST['myusername']; 

File2.php

<?php 
session_start(); 
echo $_SESSION['myusername']; 

我会主张利用$_SESSION

PHP中的会话支持包括在后续访问中保留某些数据 的方法。这使您可以构建更多自定义的 应用程序,并增加您网站的吸引力。

访问您的网站的访问者被分配了一个唯一的ID,即 所谓的会话ID。这可以存储在用户 一侧的cookie中或者在URL中传播。

会话支持允许您在$ _SESSION超全局数组中的请求之间存储数据。当访问者访问您的站点时,PHP 将自动检查(如果session.auto_start设置为1)或 您的请求(明确地通过session_start()或通过 session_register())隐式地检查特定会话ID是否已经发送 请求。如果是这种情况,则先前保存的环境是 重新创建。

File1.php

<?php 
session_start(); 
$_SESSION['myusername'] = (isset($_POST['myusername']) ? $_POST['myusername'] : ''); 
?> 

文件2。PHP

<?php 
session_start(); 
echo $_SESSION['myusername']; 
?> 

您还会注意到,在所提供的File1.php代码,如果该值首次提供的$_SESSION['myusername']声明检查。如果是,则将会话变量设置为该值,否则将其设置为空。