变量范围在不同的文件中

时间:2014-01-18 00:44:33

标签: php scope require

我正在尝试使用在文件f1中声明的变量,在同一文件所需的另一个文件中。

f1中的代码:

<?php

class Index extends Controller
{
    function __construct()
    {   
        parent::__construct();
    }

    public function index( $err = "" )
    {
        $err = "teeste";

        $this->view->render('index');
    }
}
?>

$this->view->render('index');是正确的,我确定,因为表单显示正确。

其他档案的代码:

<form action='<?php echo URL . 'user';?>' method="POST">
<input type="text" name="login" maxlength="35"/>
<input type="password" name="pass" maxlength="35"/>
<input type="submit" value="Entrar">
</form>

<?php 
echo $err; 
?>

我在网上看到了很多这样的例子,但这个例子甚至不简单。

3 个答案:

答案 0 :(得分:1)

谢谢大家。

我通过这种方式解决。

<?php

class Index extends Controller
{
    public $err;

    function __construct()
    {   
        parent::__construct();
    }

    public function index()
    {
        $this->view->error = "teeste";

        $this->view->render('index');
    }
}
?>

<form action='<?php echo URL . 'user';?>' method="POST">
<input type="text" name="login" maxlength="35"/>
<input type="password" name="pass" maxlength="35"/>
<input type="submit" value="Entrar">
</form>

<?php 
echo $this->error; 
?>

答案 1 :(得分:0)

您需要使用全局变量。在函数中:

public function index($err = "") {
    global $global_err;

    $global_err = "teeste";
    $this->view->render('index');
}

然后在你的另一个文件中:

echo $global_err;

答案 2 :(得分:0)

这看起来很像codeigniter,所以我要回答这个问题     

class Index extends Controller
{
    function __construct()
{   
    parent::__construct();
}

public function index( $err = "" )
{
    $data['err'] = "testee";

    $this->view->render('index', $data);
}
}
?>

和第二个文件

<form action='<?php echo URL . 'user';?>' method="POST">
<input type="text" name="login" maxlength="35"/>
<input type="password" name="pass" maxlength="35"/>
<input type="submit" value="Entrar">
</form>

<?php 
echo $err; 
?>