Помощник
|
Передача данных между страницами., Объясните какие существуют... |
RussiaStudent
|
Сообщение
#1
|
||
|
|
||
|
|||
KURT [197BD] |
18.12.2008, 18:23;
Ответить: KURT [197BD]
Сообщение
#2
|
|
потому что у тебя опция "register_globals" в конфигурационном файле php.ini установлена в "off".
в твоем случае лучше использовать массивы $_POST и $_GET <? echo "поле1:" . $_GET['pole1']; echo "поле2:" . $_GET['pole2']; echo "поле3:" . $_GET['pole3']; ?> можешь передавать значения переменных через адрессную строку (это тот же GET метод). При этом, после наименования файла, к котрому обращаешься, после символа "?" перечисляются переменные и их значения (после сивола "="). можно передавать несколько переменных сразу. Для этого, необходимо их отделить друг от друга символом "&". Наример, ссылка <a href="index.php?page=news&id=12">news</a> будет передавать в файл index.php переменную "page" со значением "news" и переменную "id" со значением "12". Значение переменных доступны в массиве $_GET:$_GET['news'], $_GET['id'] ... Поблагодарили: (0) |
|
|
RussiaStudent
|
Сообщение
#3
|
|
Оо не знал... Спасибо, что открыл мне глаза. То есть ты хочешь сказать, что переданные данные находятся в данных массивах?
Тогда чтобы мне использовать данные переданные методом POST или GET мне нужно обращаться к ним так? $_GET['имя'] или $_POST['имя'] Просто я думал раньше, что переменные имеют тоже имя, что и при передаче из формы... |
|
|
KURT [197BD] |
18.12.2008, 18:37;
Ответить: KURT [197BD]
Сообщение
#4
|
|
Просто я думал раньше, что переменные имеют тоже имя, что и при передаче из формы... это возможно, при включенной опции "register_globals=on". Но это не безопасно =) |
|
|
RussiaStudent
|
Сообщение
#5
|
|
Спасибо и всё таки... Как же ещё можно передавать данные на PHP? Ведь если бы мы могли передавать данные только через формы, то PHP был бы очень примитивен. Искал в интернете по данному вопросу. Было что-то сказано про URL сайта, ещё что-то про cookies и какие-то сессии...
Вы бы не могли мне разъяснить поточнее, что каждое из этих слов значит? И лучше с маленким примерчиком для закрепления... Буду очень благодарен |
|
|
KURT [197BD] |
18.12.2008, 18:52;
Ответить: KURT [197BD]
Сообщение
#6
|
|
про URL я написал выше =)
про остальное напишу попозже, если никто не опередит |
|
|
Vialls_mw |
18.12.2008, 19:55;
Ответить: Vialls_mw
Сообщение
#7
|
|
Cookie - это массив данных, который хранится у пользователя на компьютера (в браузере).
Что бы установить Cookies в PHP, нужно использовать функцию setcookie(): <?php setcookie("name", "value"); // Устанавливаем Cookie-переменную с именем name, и значением - value ?> Что бы считать куки, нужно обратится к массиву $_COOKIE: <?php if (!empty($_COOKIE["name"])) // Если переменная не пустая, то echo $_COOKIE["name"]; // Вывести, значение куки с именем name ?> Сессии - это более крутой вид передачи данных, который работает примерно так-же как Cookies, но может работать с выключенными Cookies в браузере (скрыто, через GET-запросы и др., точно не знаю - не интересовался). Что бы использовать сессии нужно их "активировать" с помощью функции session_start(), для установки значений и доступа к ним, используем массив $_SESSION: <?php // Page1 session_start(); $_SESSION["name"] = "value"; ?> <?php // Page2 session_start(); if (!empty($_SESSION["name"])) echo $_SESSION["name"]; ?> Но сессии имеют небольшой минус, при зыкрытии браузера, все данные удаляются, в то время как у Cookies - нет. Кстате, советую на php.net почитать про функцию setcookie(), там много еще дополнительных параметров, например - время автоматического удаления переменной и др. P.S. Опередил К автору: Сожгите свою книгу, и купите нормальную Поблагодарили: (0) |
|
|
ZiTosS |
18.12.2008, 20:19;
Ответить: ZiTosS
Сообщение
#8
|
|
Методы передачи данных с одной страницы на другую
Метод передачи данных формы (методы GET или POST, есть ещё парочка, но о них не будем) У нас есть файл-передатчик(transmitter) 1.php ............. <form method="[GET или POST]" action="2.php"> <input type="text" name="pole1"> Текстовое поле <br> <input type="password" name="pole2"> Поле для ввода пароля <br> <input type="checkbox" name="pole3" value="[значение]"> Чекбокс(галка) <br> Радиокнопки <input type="radio" name="pole4" value="[значение 1]"> - вариант1 <input type="radio" name="pole4" value="[значение 2]"> - вариант2 </form> ............. И есть файл-приемник(receiver) 2.php <?php echo $_GET['pole1']; //выдаст значение введённое в текстовое поле echo $_GET['pole2']; //выдаст значение введённое в поле для ввода пароля echo $_GET['pole3']; //Если галка стоит вернёт: [значение], иначе: пустое значение "" e[b][/b]cho $_GET['pole4']; //Вернёт значение выбранного пункта радиокнопки ([значение 1] или [значение 2]) /* С POST тоже самое */ ?> Принципиальное отличие GET и POST: GET передаётся вместе с URL страницы приёмника. Цепляется к ней сразу после имени в виде перечислений ? - означает начало передачи данных & - разделяет перечисления = - приравнивает к имени переменной значение URL(адрес): 2.php?pole1=[значение]&pole2=[значение]&pole3=[значение]&pole4=[значение] Какие-то значения могут быть пустыми, это значит, что им не присвоили никакого значения. POST предаётся другой странице по средством прикрепления данных к заголовком отправки запроса HTTP. Поэтому как передаются данные будет не видно, да и какие данные. Обычно используют именно его, особенно при работе с формой загрузки, когда нужно передавать файл в виде бинарных данных. Метод передачи данных через URL(адресную строку) Вот к приеру у нас есть обычная ссылка на странице <a href="./file.php">Ссылка</a> Нажав на которую пользователь попадёт на страницу с именем file.php. Тогда мы можем воспользоваться всё теме методом передачи GET и сформировать список параметров сами <a href="file.php?[имя_переменной1]=[значение1]&[имя_переменной2]=[значение2]"></a> Тогда при переходе по данной ссылке мы можем использовать данные переменные <?php echo $_GET['имя_переменной1']; //Выведет [значение1] echo $_GET['имя_переменной2']; //Выведет [значение2] ?> Метод передачи данных через Cookies Для этого нам понадобится знание хранения данных в браузере. В данном случае все данные будут храниться в папке вашего компьютера определяемой браузером. Такие данные существуют только определённое количество времени. Через которые они просто чистятся, также их можно удалить и через сами браузеры В сокращённом виде определение функции можно записать так: setcookie([имя_cookie], [значение], [время_существования_в_секундах]); Вот к примеру я задаю cookie(печенье в простонародии) с именем name, со значением "Vasya" на 20 секунд; setcookie("name", "Vasya", 20); Подробнее смотреть тут определение cookies Теперь на какую страницу данного сайта в течении 20 секунд после зарезервирования(определения) данной cookie мы не перешли, эта переменная будет доступна <?php echo $_COOKIE['name']; //Выведет Vasya ?> Метод передачи данных через Сессии(Sessions) Эти переменные хранятсмя на сервере в временной папке и доступ к ним имеет исключительно только сервер. Сессии существуют до закрытия пользователем браузера. Но в отличии данных уникальный идентификатор сессии хранится либо в COOKIES о которых мы говорили выше, либо передаётся через переменную GET способом, о котором мы уже также сказали. На этом останавливаться не будем... [ Почитаем про сессии(sessions) ] Для начала нужно зарегистрировать сессии на странице, это делается помощью функции session_start() Затем можно с помощью глобального массива $_SESSION заносить в сессию значения Вот пример: file1.php <?php session_start(); // Объявили о том что мы будем использровать сессию /* заносим значения в сессию */ $_SESSION["param1"] = [Значение_1]; // С помощью глобального массива $_SESSION["param2"] = [Значение_2]; // С помощью глобального массива ?> Пока вы не закроете браузер вы можете использовать данные переменные на всём сайте, на котором они были зарегистрированны <?php session_start(); // Объявили о том что мы будем использровать сессию echo $_SESSION["param1"]; //Выведет [Значение_1] echo $_SESSION["param2"]; //Выведет [Значение_2] ?> Помимо этих способов существуют ещё, самые важные я вам перечислил. Есть также способ передачи данных скрипту JS, который будет реализовывать отправку данных на сервер в рабочем режиме (Вы сможете продолжать работать с сайтом) На основе этой передачи работает принцип AJAX технологии. И конечно же... Все перечисленные типы можно совмещать на одной странице, например... Передача данных формы+данные через URL ............. <form method="[GET или POST]" action="2.php?id=1"> <input type="text" name="pole1"> Текстовое поле <br> </form> ............. Думаю вам будет всё понятно... Если нет задавайте вопросы. Поблагодарили: (0) |
|
|
RussiaStudent
|
Сообщение
#9
|
|
Оо как много информации. Спасибо большое Буду читать и вникать.
Возникнут вопросы обращусь... Ещё раз огромное всем спасибо |
|
|
ZiTosS |
19.12.2008, 3:36;
Ответить: ZiTosS
Сообщение
#10
|
|
|
Я всегда рад помочь в изучении, только вы приводите что-нибудь в пример, что у вас не получается, а мы вместе разберём ваши ошибки!
Удачи в изучении. Ждём ваших успехов и продвижения
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Интеграция спортивных данных API. Коэффициенты БК, Live результаты | 14 | yaroslav89 | 6540 | 13.3.2024, 23:16 автор: spoyer_ru |
|
ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ [Чарджбек|Рекавери|Возврат] |
9 | Leado | 3758 | 9.2.2024, 16:04 автор: baza0013 |
|
Как вы сравниваете ТОП сайтов между собой? | 5 | noviktamw | 5541 | 10.1.2024, 13:23 автор: wanessa |
|
Базы данных, различной тематики, выкладываем тут. Делимся, обмениваемся, заказываем, парсим. |
12 | InfoObmen | 15165 | 4.9.2022, 2:32 автор: Галецкая |
|
Сбор Данных Услуг И Специалистов Яндекс.Услуги | 2 | zkalinin | 2345 | 26.5.2022, 17:10 автор: zkalinin |
Текстовая версия | Сейчас: 19.3.2024, 13:31 |