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