如何使用 include 函数通过 URL 将变量/值传递给另一个 PHP 文件(通过 HTTP)? (PHP)

Posted

技术标签:

【中文标题】如何使用 include 函数通过 URL 将变量/值传递给另一个 PHP 文件(通过 HTTP)? (PHP)【英文标题】:how do I pass a variable/value via URL to another PHP file (via HTTP) using the include function? (PHP) 【发布时间】:2015-03-28 02:42:58 【问题描述】:

我正在尝试读取在 URL 中传递的变量/值。

作为一个实验,我从 2 个简单的文件开始。

test.php

<?php
//option1
//include "http://myhost.com/test2.php?tempvar=testonly";

//option2
//$tempvar = "testonly";
//include "http://myhost.com/test2.php";

//option3
$tempvar = "testonly";
include ("test2.php)";
?>

test2.php

<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
    console.log(getURLParameter("tempvar"));
    $("#test").html(getURLParameter("tempvar"));

    function getURLParameter(name) 
        return (decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search.toLowerCase())||[,""])[1].replace(/\+/g, '%20'))).toUpperCase()||"";
    
);
</script>
<div id="test"><?php echo tempvar; ?></div>

一些观察:

    如果我从浏览器选项卡中调用 http://myhost.com/test.html?tempvar=testonly,它可以正常工作(即页面上显示 testonly)

    如果我从浏览器调用http://myhost.com/test.php,我的页面上不会显示“testonly”。所以似乎我的 getURLParameter javascript 函数没有找到通过包含传递的 tempvar。 根据include manual (example 3),这应该可以工作。

    只有 option3 在我的 test.php 中有效,但在我的情况下,这对我来说没用,因为 test2.php 可以在另一个主机中。并且有可能 test2.php 可以替换为另一种编程语言,如 java (.jsp) 或 Coldfusion,甚至可以通过 AJAX 调用处理纯 HTML 和 DB 通信。

根据phpinfo,服务器使用的是PHP 5.1.6。也许我需要一个特定的 PHP 扩展来使它工作?

非常感谢

【问题讨论】:

【参考方案1】:

改变

<?php echo tempvar; ?>

<?php echo $tempvar; ?>

顺便说一句,您只是在声明一个变量并包含第二个文件。如果要将变量从一个页面传递到另一个页面,则需要使用:

取决于您如何传递变量(GET 或 POST)

获取

<?php echo $_GET['tempvar'];?>

发布

<?php echo $_POST['tempvar'];?>

或者你可以同时使用

<?php echo $_REQUEST['tempvar'];?>

【讨论】:

以上是关于如何使用 include 函数通过 URL 将变量/值传递给另一个 PHP 文件(通过 HTTP)? (PHP)的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 URL 将变量过滤器添加到 Drupal 6 视图?

PHP - 将变量放入 url 时,include() 文件不起作用?

c语言如何通过函数来改变已经赋初值的全局变量的值?

37如何在函数中设置一个全局变量 ?

django - 如何清理 url 传递的变量数据?

如何通过调用函数交换两个变量的值及常见误区