我有一个名为admin.php的文件,其中有一个名为send的按钮。我想要做的是当我点击它,在用户页面上看到一个链接user.php。我怎么能这样做?
我有一个文件,其中包含所有函数,名为functions.php,其中有一个名为onSubmit($ var)的函数;我使用值$ _POST ['send']初始化变量$ var是admin.php但是当我在文件user.php中调用该函数时,我无法告诉他变量$ var是谁所以我得到'undefined'指数”。
还有其他办法吗?
编辑添加代码 这是admin.php
<input type="button" name="send" value="Submit" /><br/>
require 'functions.php';
$posted = $_POST['send'];
onSubmit($posted);
这是user.php
require 'functions.php';
onSubmit($var); //here it says undefined index var because it doesn't know who the variable is
if($isSent == 1) {
<a style="visibility:visible;" href="test3.html" id="test3">Test3</a> <br/>
}
这是functions.php
global $isSent;
function onSubmit($var) {
if(isset($var)) {
$isSent = 1;
}
}
答案 0 :(得分:2)
基本上你需要使用如下的会话:
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><?}
*/
然后在管理页面上设置此变量:
if(isset($_POST['submitButton'])){
$_SESSION['makeVisible'] == true;
}
您还需要一个表单才能使用此方法,但还有其他方法,但我更喜欢这个方法。
<form name="buttonMakerThing" method="POST">
<input name="submitButton" value="Make button init Visible" type="submit"/>
</form>
如果没有action
,表单默认将表单信息“POST”到当前页面。使条件if(isset($_POST))
返回true
您需要在网站上的每个php页面的顶部添加$_SESSION
声明才能使其生效。它必须在每页的第一行!例如:
01: | <?php session_start();
02: |//rest of script;
请详细了解$_SESSIONS
unnsetting
/ destroying
您的会话及其更多用途:) http://php.net/manual/en/reserved.variables.session.php
答案 1 :(得分:1)
如果你有定义函数的functions.php,只需将它包含在admin.php文件中,然后你可以从那里调用函数并传递值。
答案 2 :(得分:1)
对,我已经对缓存进行了一些研究,这就是我想出来的。它可能不是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');
然后检查客户页面中的var:
if($enabled == true){
echo ' button';
}
现在我唯一没有完全看到的是apc_
函数的安全性和客户端使用情况。我相信它适用于服务器的所有客户端,但我不是100%肯定。这里php manual给出了更好的例子。
这是我想到的方法。但我再次确定它的安全性,但我相信你能找到一些东西来保证它的安全。该视频实际上是Youtube API的教程。但他确实将变量保存到缓存文本文件中,这对您来说应该是有用的。