Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中在函数和文件之间传递变量_Php_Variables - Fatal编程技术网

在php中在函数和文件之间传递变量

在php中在函数和文件之间传递变量,php,variables,Php,Variables,我有一个名为admin.php的文件,其中有一个名为send的按钮。我想做的是当我点击它时,在用户页面user.php上显示一个链接。我该怎么做 我有一个名为functions.php的文件,其中有一个名为onSubmit($var)的函数;我使用值$\u POST['send']初始化变量$var is admin.php,但是当我调用文件user.php中的函数时,我无法告诉他变量$var是谁,因此我得到了“未定义的索引” 还有别的办法吗 编辑添加的代码 这是admin.php <in

我有一个名为admin.php的文件,其中有一个名为send的按钮。我想做的是当我点击它时,在用户页面user.php上显示一个链接。我该怎么做

我有一个名为functions.php的文件,其中有一个名为onSubmit($var)的函数;我使用值$\u POST['send']初始化变量$var is admin.php,但是当我调用文件user.php中的函数时,我无法告诉他变量$var是谁,因此我得到了“未定义的索引”

还有别的办法吗

编辑添加的代码 这是admin.php

<input type="button" name="send" value="Submit" /><br/>      

require 'functions.php';  
$posted = $_POST['send'];  
onSubmit($posted);  

如果有定义函数的functions.php,只需将其包含在admin.php文件中,然后就可以从那里调用函数并传递值。

如果有定义函数的functions.php,只需将其包含在admin.php文件中,然后您就可以从那里调用函数并传递值。

基本上您需要使用如下会话:

if(isset($_SESSION['makeVisible']) && $_SESSION['makeVisible'] == true){
    echo '<button>Button init</button>'; //you could also use html like the comment below.
}
/*
if(condition){?> <!-- this is now html --> <button>Button init</button><?}
*/
您还需要一个表单来使用此方法,但还有其他方法,但我更喜欢此方法

<form name="buttonMakerThing" method="POST">
    <input name="submitButton" value="Make button init Visible" type="submit"/>
</form>

请详细查看
$\u会话
,了解
取消设置
/
销毁
会话及其更多用途:)

基本上,您需要使用如下会话:

if(isset($_SESSION['makeVisible']) && $_SESSION['makeVisible'] == true){
    echo '<button>Button init</button>'; //you could also use html like the comment below.
}
/*
if(condition){?> <!-- this is now html --> <button>Button init</button><?}
*/
您还需要一个表单来使用此方法,但还有其他方法,但我更喜欢此方法

<form name="buttonMakerThing" method="POST">
    <input name="submitButton" value="Make button init Visible" type="submit"/>
</form>

请查看更多关于
$\u SESSIONS
unnsetting
/
销毁您的会话以及它们的更多用途:)

对,我对缓存做了一些研究,这就是我想到的。这可能不是100%正确,但这是一个开始,就像我说我自己从来没有尝试过一样,哈哈

在您的admin.php中,我将此函数放入:

if(isset($_POST['send'])){
    if($enabled == true){
        $enabled == false;
    }
    else{
        $enabled == true;
    }
     apc_add('enabled',$enabled);
}
现在要“获取”我们的
$enabled
var:

$enabled = apc_fetch('enabled');
然后,要检查客户端页面中的变量:

if($enabled == true){
    echo ' button';
}
现在,我唯一没有完全了解的是
apc\uu
函数的安全性和客户端使用情况。我相信它适用于服务器的所有客户端,但我不是100%确定。下面的示例将提供更好的示例


这就是我想的方法。但我也不确定它的安全性,但我相信你能找到一些东西来保证它的安全。这段视频实际上是一个教程。但他确实谈到了将变量保存到缓存文本文件中,这应该对您有用:)

对,我对缓存做了一些研究,这就是我的想法。这可能不是100%正确,但这是一个开始,就像我说我自己从来没有尝试过一样,哈哈

在您的admin.php中,我将此函数放入:

if(isset($_POST['send'])){
    if($enabled == true){
        $enabled == false;
    }
    else{
        $enabled == true;
    }
     apc_add('enabled',$enabled);
}
现在要“获取”我们的
$enabled
var:

$enabled = apc_fetch('enabled');
然后,要检查客户端页面中的变量:

if($enabled == true){
    echo ' button';
}
现在,我唯一没有完全了解的是
apc\uu
函数的安全性和客户端使用情况。我相信它适用于服务器的所有客户端,但我不是100%确定。下面的示例将提供更好的示例


这就是我想的方法。但我也不确定它的安全性,但我相信你能找到一些东西来保证它的安全。这段视频实际上是一个教程。但他确实谈到了将一个变量保存到缓存文本文件中,该文件应该对您有用:)

我不明白“我想做的是当我单击它时,在用户页面user.php上显示一个链接。我该怎么做?”您是否可以澄清您的错误是,
$isSent
仅在functions.php页面中声明,并将保留在那里。你有两个选择。使用一个会话变量,该变量将在一个时间限制后过期。或者使用缓存保存变量数据。因此,您可以有效地将$isSent“保存”为
true
我不理解“我想做的是当我单击它时,在用户页面user.php上显示一个链接。我该如何做?”您能否澄清您的错误是,
$isSent
仅在functions.php页面中声明,并将保留在那里。你有两个选择。使用一个会话变量,该变量将在一个时间限制后过期。或者使用缓存保存变量数据。这样,您就可以有效地将$ISENT“保存”为
true
我已经在使用会话作为登录代码;我编辑了问题并发布了我试图做的代码;谢谢你的建议;我将尝试使用sessions,看看它是否有效works@user1956190对,我明白了!选择应该是永久性的吗?如果是,我建议使用缓存。如果有的话,我会在缓存上发布另一个答案。等待会话将毫无用处,因为我已经意识到它们是为管理员和客户端设置的。使用缓存保存选项并加载选项。没有更简单的方法在不使用缓存的情况下发送变量$var吗?我没有用过缓存before@user1956190我也没有!哈哈,现在查一下。这不应该太难。这类似于在页面中包含文件。无大碍:)我已经使用会话作为登录代码;我编辑了问题并发布了我试图做的代码;谢谢你的建议;我将尝试使用sessions,看看它是否有效works@user1956190对,我明白了!选择应该是永久性的吗?如果是,我建议使用缓存。如果有的话,我会在缓存上发布另一个答案。等待会话将毫无用处,因为我已经意识到它们是为管理员和客户端设置的。使用缓存保存选项并加载选项。没有更简单的方法在不使用缓存的情况下发送变量$var吗?我没有用过缓存before@user1956190我也没有!哈哈,现在查一下。这不应该太难。这类似于在页面中包含文件。没什么大不了的:)非常感谢!我尝试了代码,但它显示了致命错误:调用未定义的函数apc_fetch();我想我必须安装apc扩展,不是吗?@user1956190是的,我想你需要。但我还是会看看youtube的api视频。这可能会有所帮助,因为他正在使用
put\u contents()
将一个大变量保存到一个“缓存”文本文件中