Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
 Аватар для Hell Knight
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294

Передача переменной в другой скрипт

01.11.2012, 18:10. Показов 3118. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, делаю простенький сайт
Ввожу я логин/пароль, проверю на наличие в базе данных, сверяю пароль на подлинность
И если успешно, то нужно переменной UserID присвоить значение, иначе -1.
Всё просиходит успешно, в навигации меню по меню у меня элементы <a>
И я хотел, что бы эта переменная UserID была глобальной...
Что бы я мог некоторые пункты меню скрыть, например, когда пользователь авторизовался, что бы этот пункт не отображался... я написал данный скрипт...
Но у меня почему-то уничтожается глобальная переменная когда перехожу по ссылке в меню...
Я пробовал разные способы, вот что я пробовал:
PHP
1
2
3
$_GLOBALS['UserID'] = $UserID;
$GLOBALS['UserID'] = $UserID;
$_POST['UserID'] = $UserID
блин... я уже и не знаю, как еще передать можно значение?

Добавлено через 34 секунды
Ну и извлекал соответственно, для каждого способа по своему...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2012, 18:10
Ответы с готовыми решениями:

Передача переменной в другой скрипт
Всем привет. Нужно помощь. Сканирую папку с xml index.php &lt;?php $dir = &quot;xml/&quot;; if (is_dir($dir)) {

Передача переменной в другой документ
Пытаюсь передать переменную в другой файл, чтобы отобразить информацию о переменной код файла откуда передаем: &lt;?php ...

Передача переменной в другой файл
Скажите пожалуйста, как передать переменную в другой файл, пример В самом верхнем файле вызываю index.php ...

13
28 / 28 / 0
Регистрация: 27.03.2011
Сообщений: 156
01.11.2012, 18:11
А попробовать сессию и куки?
0
 Аватар для Hell Knight
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
01.11.2012, 18:53  [ТС]
даже куки почему-то не помогают:

вот так, у меня происходит на странице определение, пользователя
т. е. если пользователь авторизовался, то у него будет ID, иначе он будет -1
PHP
1
2
3
4
5
6
7
8
9
10
$UserID = -1;
    
    if (isset($_COOKIE['UserID']))
    {
        $UserID = $_COOKIE['UserID'];
    }
    else
    {
        setcookie("UserID", -1);
    }
а вот уже, извлечение результатов выполнения sql-запроса
PHP
1
$_COOKIE['UserID'] = $rows['id'];
значение устанавливается, т. к. внизу стнарицы, я вывожу в целях отладки, значение данного кука....
он всё правильно выводит, но стоит мне перейти по другой ссылки, эти значения уничтожаются...
т. е. внизу страницы ничего не выводится
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
01.11.2012, 19:46
Цитата Сообщение от Hell Knight Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
$UserID = -1;
if (isset($_COOKIE['UserID']))
* * {
* * * * $UserID = $_COOKIE['UserID'];
* * }
* * else
* * {
* * * * setcookie("UserID", -1);
* * }
первая половина кода лишняя.
Цитата Сообщение от Hell Knight Посмотреть сообщение
т. е. если пользователь авторизовался, то у него будет ID, иначе он будет -1
зачем? Можно же просто проверять, установлены куки или нет.

Цитата Сообщение от Hell Knight Посмотреть сообщение
но стоит мне перейти по другой ссылки, эти значения уничтожаются...
по ссылке куда? на ваш домен или нет? какой код в том скрипте?
0
 Аватар для Hell Knight
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
01.11.2012, 20:45  [ТС]
я разбил код на 3 части:
1) htmlup.php - шапка сайта, + загрузка меню (ссылки с помощью тегов <a>, меню я загружаю из БД, там указываю, как называется меню и ссылка на файл-скрипт)
2) содержимое - уникальная часть
3) htmldown.php - нижняя часть сайта, она так же одинаковая для всех страниц

как раз проверка производится в htmlup'e, в БД у меня есть поле param, в зависимости от значения его, я определяю, какие пункты меню отображать, а какие нет... ну там например авторизованным пользователям незачем отображать вход на страницу LogIn, ему нужно отображать пункт LogOut, для выхода ну и т. п.

так вот, как раз по переходу по таким ссылкам, которые в меню, у меня и уничтожаются куки
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
01.11.2012, 21:32
не понимаю.. у вас как все эти скрипты соединяются? через include/require, так?
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
01.11.2012, 21:47
Не в коем случае не в куки.
Что мне мешает в браузере в куки вписать любое значение какое я хочу?) Да не чего

В самом начале скрпита у вас должна юыть строка.
PHP
1
session_start();
естественно не обязательно в самом начале, главное что бы до любого вывода в браузер.

Потом, там где авторизовываете юзера, если авторизация рпошла, пишите
PHP
1
$_SESSION['user_id'] = $id; // то есть в переменной $id у вас id юзера.
а если нужно сделать выход пользователя, то делаете так
PHP
1
unset($_SESSION['user_id']);
для проверки можно вспомогательную функцию сделать
PHP
1
2
3
4
function is_guest()
{
    return empty($_SESSION['user_id']);
}
Тогда
PHP
1
2
3
4
5
6
7
8
if (is_guest())
{
    // тут код для гостя
}
else
{
    // тут код для вошедшего
}
1
 Аватар для Hell Knight
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
02.11.2012, 10:51  [ТС]
скрипты не связаны никак между собой, они вызываются путём перехода к ним по ссылке
т. к. я могу в процессе разработки сайта наращивать всё больше и больше страниц, я решил хранить адреса и имена пунктов меню в БД.
так, что в коде они явно не указаны, я же уже писал, что менюшки у меня сделаны в виде элементов с тэгами <a>
больше никак не связываются

З.Ы. спасибо, попробую вариант с сессией... как опробую отпишусь

Добавлено через 2 часа 31 минуту
хм... странно, выдаёт такую ошибку на строку с session_start()
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\master.loc\www\login.php:4) in Z:\home\master.loc\www\htmlup.php on line 8

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\master.loc\www\login.php:4) in Z:\home\master.loc\www\htmlup.php on line 8
Добавлено через 2 минуты
вот, начало содержимого login.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<html>
<head>
<title>Log In</title>
<?php
include "htmlup.php";
?>
...
# тут код авторизация пользователя
...
<?
include "htmldown.php";
?>
Добавлено через 1 минуту
а вот начало htmlup.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<div class = "main_board">
<?php
    include "func.php";
    
    session_start();
    
    $dbh = connect();
    $UserID = -1;
    
    if (is_guest())
    {
        $UserID = -1;
    }
    else
    {
        $UserID = $_SESSION['user_id'];
    }
в func.php функции
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
02.11.2012, 10:56
Я вам разве не писал про это?
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
В самом начале скрпита у вас должна быть строка.
PHP
1
session_start();
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
естественно не обязательно в самом начале, главное что бы до любого вывода в браузер.
1
 Аватар для c4boomb
198 / 166 / 23
Регистрация: 20.04.2011
Сообщений: 750
Записей в блоге: 1
02.11.2012, 10:57
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php session_start(); ?><link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<div class = "main_board">
<?php
    include "func.php";
    
    
    
    $dbh = connect();
    $UserID = -1;
    
    if (is_guest())
    {
        $UserID = -1;
    }
    else
    {
        $UserID = $_SESSION['user_id'];
    }
Добавлено через 30 секунд

Не по теме:

опередил )))

1
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
02.11.2012, 10:59
c4boomb, не в тот скрипт вставили, он инклудится, так что ошибка будет та же самая
0
 Аватар для Hell Knight
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
02.11.2012, 11:08  [ТС]
а всё понял...
я просто не сразу сообразил, что нужно выводить даже до тегов <html>

Добавлено через 1 минуту
всё заработало, спасибо за внимание
тему можете закрыть
0
 Аватар для Rijen
1 / 1 / 0
Регистрация: 05.11.2012
Сообщений: 14
05.11.2012, 02:48
Глюк форума
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
05.11.2012, 02:51
Ага, а теперь выйдите с админки, и добавьте просто куку в браузер с именем name для вашего домена.
И вы уже в админке, без всяких форм входа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2012, 02:51
Помогаю со студенческими работами здесь

Передача значения переменной с другой страницы
у меня есть 2 страницы, при чем на одной я задаю значение переменной, как взять это значение на другой странице( эта переменная потом...

Передача переменной из одного файла php в другой
Добрый день. Необходимо передавать данные из одного файла php Во второй, таким образом: Передать данные через метод POST или GET на...

Передача значения переменной из одного файла в другой
Собственно вопрос в теме. Мне нужно значение переменной $link_load передать через ссылку в другой php файл.

Передача значения переменной из одного файла в другой через ссылку
Всем привет! Задача вроде бы простая и ответ есть вот тут: https://www.cyberforum.ru/php-beginners/thread722702.html И даже работает...

Передача переменной в другой скрипт
Неработает передача значения переменной в другой скрипт по такой конструкции: void Start () { GetComponent&lt;имя другого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru