передача переменных между функциями и файлами в php

У меня есть файл под названием admin.php, в котором у меня есть кнопка с именем send. То, что я хочу сделать, – это когда я нажимаю на него, чтобы сделать видимую ссылку на странице пользователя, user.php. Как я могу это сделать?

У меня есть файл со всеми моими функциями, называемыми functions.php, в которых у меня есть функция, называемая onSubmit ($ var); Я инициализирую переменную $ var – admin.php со значением $ _POST ['send'], но когда я вызываю функцию в файле user.php, я не могу сказать ему, кто является переменной $ var, поэтому я получаю 'undefined индекс'.

Есть ли другой способ сделать это?

EDIT Добавлен код Это 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; } } 

Правильно, я немного поработал над кешированием, и это то, что я придумал. Это может быть не 100% правильно, но это начало, как будто я сказал, что я никогда не пробовал это сам lol

В вашем 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, чтобы дать лучшие примеры.

Это метод, о котором я думал. Но опять же я не уверен в безопасности, но я уверен, что вы можете найти что-то, чтобы сохранить его в безопасности. На самом деле видео является учебным пособием для Youtube API . Но он покроет сохранение переменной в текстовый файл кеша, который должен быть вам полезен 🙂

В основном вам нужно использовать сеансы, как показано ниже:

 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 форма по умолчанию добавляет «POSTING» информацию о форме на текущую страницу. Выполнение условия if(isset($_POST)) возвращает true.
Вам нужно будет добавить объявление $_SESSION в верхней части каждой php-страницы, которую вы имеете на своем сайте, чтобы это работало. Он ДОЛЖЕН перейти на первую строчку каждой страницы! например:

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

Пожалуйста, посмотрите больше на $_SESSIONS для того, чтобы unnsetting / destroying ваши сеансы и больше использовать для них 🙂 http://php.net/manual/en/reserved.variables.session.php

Если у вас есть functions.php, который определяет функции, просто включите его в файл admin.php, а затем вы можете вызвать функцию оттуда, а также передать значение.