Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить значение переменной в другом файле. 
V
    Опции темы
lukas
Дата 10.8.2009, 13:48 (ссылка)   | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Блин, развели демагогию...

Avaj

Когда ты подключаешь файл методом include, то все переменные до этого будут доступны в этом файле. Но когда таких инклюдов, и всяких require'ов очень много, следить за зоной видимости переменных становится невыносимо. Поэтому вариант один:

Код

$GLOBALS['var_name'] = значение...


а в другом файле просто:

Код

global $var_name;


И тебе станет доступна эта переменная.


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Ипатьев
Дата 10.8.2009, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



lukas, демагогия - это ответ про $GLOBALS. А точнее - элементарная неграмотность. 

Avaj, обычно в подобных случаях (форма 2 зависит от формы1) такие данные передаются через адресную строку, т.е. второй пример bars80080.

Но из пользовательского ввода таблицы практически никогда не создаются. Скорее всего, неправильно спроектирована база данных.
Не говоря уже о вопиющей небезопасности такого подхода вообще и приведеннного кода - в частности.

Это сообщение отредактировал(а) Ипатьев - 10.8.2009, 14:38
PM MAIL   Вверх
Avaj
Дата 10.8.2009, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



bars80080

Цитата


второй вариант. создали таблицу, ну и ладно. несколько позже, с какой-то страницы по ссылке "добавить данные" мы переходим на страницу с формой добавления данных. тут уж извини, но имя таблицы должно передаваться от ссылки, а как - это уже в зависимости от задачи.

 - это больше подходит.

Ну сначала происходит что-то типа регистрации, для юзера создаётся запись в таблице юзеров и создаётся таблица для его заметок (что-то типа блога).

Цитата


имя таблицы должно передаваться от ссылки

 - т.е. при добавлении в таблицу заметки юзера в скрипт передаётся и имя таблицы? - через скрытое поле в форме?

А как оно попадает в html-файл с формой? 
PM MAIL   Вверх
youri
Дата 10.8.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(Avaj @  10.8.2009,  15:09 Найти цитируемый пост)
и создаётся таблица для его заметок (что-то типа блога)

создай таблицу заранее для всех пользователей. Если бы ты сразу рассказал, что ты делаешь - быстрее бы получил ответ ;)
PM   Вверх
Avaj
Дата 10.8.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



youri

Цитата


создай таблицу заранее для всех пользователей.



Одну на всех?

Цитата


Если бы ты сразу рассказал, что ты делаешь - быстрее бы получил ответ ;) 

 - да я не то что бы пытаюсь написать какой-то крутой "weblog eingine", учюсь просто, и в процессе возник вопрос про переменную, и отзывчивые люди активно помогают smile 

Это сообщение отредактировал(а) Avaj - 10.8.2009, 15:21
PM MAIL   Вверх
gcc
Дата 10.8.2009, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: -1
Всего: 17



ассессор?

Код

class Class
{
    public $s = '6767';
    public function Out() {
        echo $this->s;
    }
}



PM WWW ICQ Skype GTalk Jabber   Вверх
Avaj
Дата 10.8.2009, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



gcc, я не понял что имел ввиду.
PM MAIL   Вверх
Ипатьев
Дата 10.8.2009, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Avaj, это была шутка.

Надо сделать одну таблицу для блогов всех пользователей. Тогда все вопросы разом пропадут. 
А насчет различных способов передачи данных от скрипта к скрипту следует почитать учебник, для общего развития.

PM MAIL   Вверх
Avaj
Дата 10.8.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Цитата


Надо сделать одну таблицу для блогов всех пользователей. Тогда все вопросы разом пропадут. 



Наверно так и надо, но мне кажется, что не так оно обычно устроено.

Или иметь много небольших таблиц значительно накладней, чем одну большую?
PM MAIL   Вверх
Ипатьев
Дата 10.8.2009, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Как раз наоборот. Именно так оно обычно и устроено. 
И накладность тут совсем не при чем. Есть такое понятие - архитектура базы данных. Она первична. Как сопромат в строительстве. Как сказано по одной из ссылок выше, высотные здания строят из железобетона, а не из дерева не потому, что он дешевле. И не потому, что дороже. Дело вообще не в "накладности". 

Однотипные данные в базе хранятся в одной таблице. 
К примеру, все сообщения всех тем в этом форуме хранятся в одной таблице.
PM MAIL   Вверх
lukas
Дата 11.8.2009, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Цитата(Ипатьев @  10.8.2009,  14:35 Найти цитируемый пост)
lukas, демагогия - это ответ про $GLOBALS. А точнее - элементарная неграмотность. 


Я не понимаю в чем неграмотность? Как я понял у человека были проблемы с зоной видимости переменных, по крайне мере стоит прочесть самое начало. Я не виноват, что человек не может нормально выразить свои мысли.

Если иначе, наверно стоило человеку объяснить что php-скрипт выполняется один раз и после выполнения все объявленные переменные очищаются. 


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
youri
Дата 11.8.2009, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(lukas @  11.8.2009,  09:28 Найти цитируемый пост)
Я не виноват, что человек не может нормально выразить свои мысли

начинающий тоже не виноват в том, что он начинающий
PM   Вверх
Avaj
Дата 12.8.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Всем спасибо.  smile 

Так правильно ли я понял, что для передачи значений от скрипта скрипту надо использовать сессии?
PM MAIL   Вверх
NewDima
Дата 12.8.2009, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



Резюмирую вышесказанное:
1. если скрипты взаимодействуют в течении одного времени интерпритации, то ничего, кроме подключения модулей методами include/require, делать не нужно 
2. если скрипты связаны только пользователем, который к ним обращается, то можно использовать сессию, либо помещать нужные параметры в строку адреса, и на последующих шагах анализировать установленный параметр
PM ICQ   Вверх
Ипатьев
Дата 12.8.2009, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Цитата(Avaj @  12.8.2009,  10:43 Найти цитируемый пост)
Так правильно ли я понял, что для передачи значений от скрипта скрипту надо использовать сессии? 

Нет.
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0896 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.