如何将变量传递给我包含的文件?

时间:2010-09-14 09:14:49

标签: php include

我正在尝试将变量传递给包含的文件。我做过类似的事情:

$id = $_GET['id']; include('myfile.php');

文件'myfile.php'包含表单和提交按钮。它的处理页面是'process.php',在其中,我已经完成了:

$_id = var_dump($id);

// insert query

但是我没有得到变量的值,因此将0插入表中。

还有其他更简单的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

功能

myfile.php声明一个函数(例如myfunction),您可以在include脚本中调用它。

例如:

// main.php
<?php

include('myfile.php');

process_data($_GET['id']);

// myfile.php
<?php

function process_data($id) {
    $query = 'SELECT * FROM foobar WHERE id = ' . mysql_real_escape_string($id);

    // ...
}

如果您确实希望将变量作为全局传递,并且您在函数或方法中引用了全局变量,请务必将其引用为$GLOBALS['varname']或使用global $varname

function process_data() {
    $id = &$GLOBALS['id'];
    // or
    global $id;

    // ...
}

答案 1 :(得分:0)

你必须在myfile.php

中传递表单中的$ id值

示例:

<form action="process.php" method="post">
  <input type="hidden" name="id" value="<?= $id ?>">
  <!--- rest of your form -->
</form>

在您的process.php中,将ID返回如下,然后执行查询。

$form_id = $_POST['id'];