0

我有一个名为 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;  
}  
}
4

3 回答 3

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表单,则默认将表单信息“发布”到当前页面。使条件if(isset($_POST))返回真。
您需要$_SESSION在您网站上的每个 php 页面的顶部添加一个声明才能使其正常工作。它必须在每一页的第一行!例如:

01: | <?php session_start();
02: |//rest of script;

请更多地$_SESSIONS了解unnsetting/destroying您的会话以及它们的更多用途:) http://php.net/manual/en/reserved.variables.session.php

于 2013-01-12T12:02:47.543 回答
1

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

于 2013-01-12T11:48:56.553 回答
1

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

在您的 admin.php 中,我将这个函数放在:

if(isset($_POST['send'])){
    if($enabled == true){
        $enabled == false;
    }
    else{
        $enabled == true;
    }
     apc_add('enabled',$enabled);
}

现在“获取”我们的$enabled变量:

$enabled = apc_fetch('enabled');

然后检查客户端页面中的 var:

if($enabled == true){
    echo ' button';
}

现在我唯一没有完全了解的是apc_函数的安全性和客户端的使用。我相信它适用于服务器的所有客户端,但我不是 100% 确定。这里的php手册给出了更好的例子。

这是我想到的方法。但是我再次不确定它的安全性,但我相信你可以找到一些东西来保证它的安全。该视频实际上是Youtube API的教程。但他确实涵盖了将变量保存到缓存文本文件中,这应该对你有用:)

于 2013-01-12T15:05:13.387 回答