Php не видит переменную из другого файла
У меня есть еще одна проблема, теперь у меня есть переменные в файле PHP, на которые нужно ссылаться в другом, но он делает это безуспешно.
Для дальнейшего объяснения у меня есть этот сегмент в файле PHP:
Здесь я должен указать имя пользователя и пароль, чтобы установить соединение с разрабатываемой мной веб-службой.
После этого пользователь может выполнять такие операции, как добавление / удаление / изменение ссылок / тегов и т. Д. Он может изменить свои личные данные (имя пользователя, пароль, адрес электронной почты или удалить свою учетную запись). Для любой из этих операций мне нужен текущий логин (то есть его имя пользователя). Как в этом примере:
Моя основная цель - сослаться на переменную PHP в одном файле в другом. Мой файл JavaScript не отвечает за предоставление имени пользователя для входа. Я попытался включить файлы php, но безуспешно.
Есть предложения по решению этой проблемы?
РЕДАКТИРОВАТЬ: Ну, я попробовал свой php, но обнаружил некоторые проблемы в моем сценарии JavaScript.
Я опубликую функции, которые отвечают за эту операцию, так как я понятия не имею, в чем проблема.
Моя функция JavaScript (jQuery):
EDIT2: моя проблема с изменением имени пользователя решена. Теперь у меня проблема в том, что я могу успешно войти в систему со старым именем пользователя. Любое предложение?
Вам следует начать использовать больше фигурных скобок, этот код обязательно сломается. в ближайшем будущем. - Jacco
плохое форматирование, плохо читаемый код - robert
Я старался отформатировать все, что мог, в этом текстовом редакторе. К сожалению, я не могу использовать вкладку, иначе происходит переход к следующему объекту HTML. Копирование и вставка из исходного документа не всегда дает правильное форматирование .. - Vitor Santos
PHP, получение переменной из другого php-файла
поэтому мне интересно, можно ли получить переменную из определенного php-файла, когда имя переменной используется в нескольких php-файлах. Вот пример:
Ok пример немного абстрактный, но настолько короткий, насколько я могу это сделать. Думаю, вы поняли, к чему я клоню! Так это в нижнем колонтитуле, за которым я охочусь! Есть какие-нибудь решения?
вы можете, но переменная в вашем последнем include перезапишет переменную в вашем первом:
myfile.в PHP
mysecondfile.в PHP
вы также можете использовать сеанс для передачи небольших битов информации. Вам нужно будет иметь session_start (); в верхней части страниц PHP, которые используют сеанс, иначе переменные не будут доступны
используя include ‘page1.php’ на второй странице есть один вариант, но он может генерировать ошибки и предупреждения неопределенных переменных.
три метода, с помощью которых вы можете использовать переменные одного файла php в другом файле php:
используйте сеанс для передачи переменной с одной страницы на другую
способ:
сначала вы должны запустить сеанс в обоих файлах с помощью команды php
sesssion_start ();
тогда в первом файле рассмотрим у вас одну переменную
$x= ‘var1’;теперь назначьте значение $x переменной сеанса, используя это:
$_SESSION [‘var’]=$x;
теперь получаем значение в любом другом файле php:
$y=$_SESSION [‘var’];//$y-любая объявленная переменная
использование метода get и получение переменных при нажатии ссылка
метод
clickme
получение значений в page2.php файл с помощью функции $_GET:
$x=$_GET[‘variable1’];//value1 be stored in $x
$y=$_GET[‘variable2’];//vale2 be stored in $y
если вы хотите передать значение переменной с помощью кнопки, то вы можете использовать его следующим образом:
Поэтому мне интересно, можно ли получить переменную из определенного php-файла, когда имя переменной используется в нескольких php-файлах. Пример такой:
page1.php имеет $var1 = 'page1' page2.php имеет $var1 = 'page2'
Хорошо, пример немного абстрактный, но настолько коротким, насколько я могу его сделать. Я думаю, вы поняли, о чем я! Так что это в нижнем колонтитуле я после! Есть решения?
если глобальная переменная, к которой вы обращаетесь, не находится в уже включенном файле, вы не можете получить ее значение.
Вы можете, но переменная в вашем последнем включении перезапишет переменную в вашем первом:
мой файл.php
мой второй файл.php
test.php
Я предлагаю использовать разные имена переменных.
Другими словами, это действительно невозможно? Для этой штуки это не нужно, просто дали бы мне более аккуратный код!
Что ж, я пытаюсь повторить один и тот же текст в двух разных местах, одно из которых находится на реальной странице, а другое — в универсальном нижнем колонтитуле (footer.php). В основном я использую переменную для легкого обновления!
Вы также можете использовать сеанс для передачи небольших битов информации. Вам понадобится session_start(); в верхней части страниц PHP, которые используют сеанс, иначе переменные не будут доступны
Я действительно не понимаю, почему это получает меньше голосов. Это вполне действительная альтернатива включениям, которые OP, возможно, не рассматривал.
Для этого требуется сначала посетить «page1.php». Использование сессий в качестве псевдоглобального пространства имен может быть очень болезненным.
использование include 'page1.php' на второй странице - это один из вариантов, но он может генерировать предупреждения и ошибки неопределенных переменных.
Три метода, с помощью которых вы можете использовать переменные одного файла php в другом файле php:
используйте сеанс для передачи переменной с одной страницы на другой
метод:
сначала вам нужно запустить сеанс в обоих файлах с помощью команды php
sesssion_start();
then in first file consider you have one variable
$x='var1';now assign value of $x to a session variable using this:
$_SESSION['var']=$x;
now getting value in any another php file:
$y=$_SESSION['var'];//$y is any declared variable
используя метод get и получая переменные при нажатии на
метод ссылки
clickme
getting values in page2.php file by $_GET function:
$x=$_GET['variable1'];//value1 be stored in $x
$y=$_GET['variable2'];//vale2 be stored in $y
если вы хотите передать значение переменной с помощью кнопки, вы можете использовать ее следующим способом:
2 ответы
Думаю, проблема связана с Session_start (). Убедитесь, что вы включили это, прежде чем проверять переменные логина и пароля сеанса.
Я не уверен, что полностью понимаю вашу проблему, оба эти сегмента кода из одного файла или разных? И вы отправляете две разные html-формы или это всего лишь одна форма?
Я предполагаю, что вы отправили HTML-форму на одну страницу, а затем, когда вы переходите на другую страницу, вы хотите получить доступ к тем же значениям, верно? Вы не можете передавать значения $ _REQUEST с одной страницы на другую таким образом. Вы можете либо присвоить эти значения некоторой переменной, а затем включить этот файл, либо использовать переменные сеанса для хранения этих файлов:
Сделайте это в первом файле:
Затем включите первый файл во второй и используйте переменные (при условии, что первый файл - это a.php):
Вы также можете использовать переменные сеанса для передачи данных с одной страницы на другую, просто убедитесь, что session_start() в начале каждой страницы, на которой вы используете переменные сеанса.
Примечание. Вы также должны проверить данные, отправленные пользователем, перед их использованием, но это уже другая тема. Кроме того, в случае сомнений распечатайте / отобразите свои переменные, чтобы узнать, какие данные передаются и какая переменная является проблемой.
РЕДАКТИРОВАТЬ (Вопрос 2): Можете ли вы войти в систему как со старым, так и с новым именем пользователя? Если да, это означает, что вместо замены текущего имени пользователя на новое вы добавляете нового пользователя (имя). Поделитесь тем, как вы обновляете информацию об учетной записи (то есть, если вы используете базу данных, поделитесь запросом на обновление, который вы используете), и кто-то может помочь.
Первый сегмент кода не находится в том же файле, что и второй фрагмент. Хорошо, я попытался сделать включение, но я вернул фатальную ошибку, потому что он пытается подключиться к базе данных каждый раз, когда я запускаю какой-либо скрипт. Я прокомментировал это, но он возвращает тот же проблемный результат. - Витор Сантос
Всякий раз, когда вы включаете файл PHP, весь код в нем выполняется (за исключением функций и кода в классах), поэтому просто включение файла для получения его переменной обычно не является хорошей идеей. Попробуйте использовать сеансы. - Акил Зафар
Типа, делая session_start() ? Но я уже делаю это в начале сценария. После этого я создал свои функции для выполнения сеансов. - Витор Сантос
Хорошо, я понял свою проблему . Это из моего JavaScript, который не отправляет его данные . Спасибо! :) - Витор Сантос
Я понял свою проблему .. Фрагмент PHP пропустил фигурные скобки .. Однако я все еще могу войти в систему со старым именем пользователя. Есть предложения по исправлению? - Витор Сантос
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками php javascript jquery html or задайте свой вопрос.
Подключаю файл через require_once, в файле хранятся две переменные, после подключения файла пытаюсь вывести эти переменные (названия использую такие, какие они в подключенном файле), но ничего не выводится. Каким образом можно получить переменные из второго файла?
именно таким как вы и описали.
вангую: ошибка в пути -> файл не может быть подключен -> поскольку require_once, то скрипт падает -> вывод ошибок отключен -> видим белую страницу. угадал?
Тогда по каким причинам может не работать? Если в подключаемом файле выводить переменную, то файл подключается с этим выводом, т.е. require срабатывает, но используемые переменные - пусты
DevMan:
подключаемый файл:
$ayat_text = "Текст";
$ayat_song_link = "Текст";
?>
Алексей Скляров: вопрос на засыпку:
если я сделаю: require_once "vk.com/admin/config.php";
Я смогу спереть данные админки вк?
Алексей Скляров: 1. инклуд по урлу обычно в PHP запрещен (емнип), и его надо специально включать.
2. при инклуде урл'а мы получаем не содержимое файла, а то, что по запрощенному адресу нам вернет веб-сервер с той стороны.
можно ли использовать переменную в файле с именем first.js внутри другого файла под названием second.js ?
first.js содержит переменную colorcodes .
как сказал Фермин, переменная в глобальной области должна быть доступна для всех скриптов, загруженных после ее объявления. Вы также можете использовать свойство window или (в глобальной области) this чтобы получить тот же эффект.
Это должно работать-определить глобальную переменную в firstfile и получить к ней доступ из secondfile:
обратите внимание, что порядок загрузки файлов скриптов имеет значение для некоторых браузеров (IE6 наверняка, возможно, другие)
мне понравилось, что ответ выше сказал, но, хотя, это не сработало со мной
потому что я был declaring эти переменные inside в jQuery $( document ).ready()
поэтому убедитесь, что вы объявлять переменные внутри - тег не где-то еще
Если вы храните свои цветовые коды в глобальной переменной, вы должны иметь доступ к нему из любого файла javascript.
Вы можете экспортировать переменную из первого файла, используя экспорт.
затем импортируйте переменную во второй файл с помощью импорт.
я наткнулся на усилить.js. Он очень прост в использовании. Чтобы сохранить значение, назовем его "myValue", вы делаете:
и получить к нему доступ, Вы делаете
возможно, я делаю это немного по-другому. Я не уверен, почему я использую этот синтаксис, скопировал его из какой-то книги давным-давно. Но каждый из моих JS файлы определяет переменную. Первый файл без всякой причины называется R:
и затем, если у меня есть большой кусок кода, который я хочу разделить, я помещаю его в отдельный файл и другое имя переменной, но я все еще могу ссылаться на переменные и функции R. Я назвал новый TD без уважительной причины все:
вы можете видеть, что где в TD 'sepfunction' я называю R. somefunction. Я понимаю, что это не дает эффективности выполнения, потому что оба скрипта нужно загрузить, но это помогает мне держать мой код организованным.
Вывести значение переменной из другого файла
В пхп использую только простые условия, обычно после часа гугления получается, но тут не могу.
Получить значение переменной из другого класса
Добрый день! Делаю простенькие часики и столкнулся со следующей проблемой: внутри класса значение.
Получить значение переменной из другого класса
Доброго времени суток, помогите пожалуйста разобраться. Есть класс в котором хранится переменная.
Получить значение переменной из другого потока
Всем привет! Есть процедура, которая вызывает другую процедуру, но они работают в разных потоках.
Как использовать переменные из другого файла в php?
есть файл с данными для подключения к базе, лежит в отдельном файле. Как данные из него передать в другой файл?
Можно воспользоваться конструкцией namespace‘ов (php 7+)
Пример:
Пусть будет файл ex1.php:
И файл ex2.php, в котором нужно воспользоваться переменной из класса Ex $variable:
Да, подключать файл нужно все равно (оператор include).
Такой подход более предпочтительный с точки зрения ООП и более удобный, в случае больших проектов.
В проектах с MVC-структурой, например, как здесь, подключать такие файлы в моделях не нужно будет (они автоматически подключаются в классе Route. И да, та статья написана в 2012, без использования namespace‘ов, но при желании, можно легко их добавить, особенно будет удобно, если Ваш проект разрастется).
Пусть будет файл ex1.php:
Переменная и метод из файла ex1.php, но, подключив его, мы получаем к ним доступ.
Важно отметить, что подключать файлы нужно до их использования в стороннем файле.
Приведенный второй пример подойдет для небольших проектов, или какого-нибудь небольшого скрипта.
Читайте также: