Ситуация следущая: Предположим мы открываем сессию и у нас есть два скрипта 1.php и 2.php. В скрипте 1 есть переменая $a и две самые обыкновенные ссылки , как сделать так чтоб при нажатии на одну ссылку он переходил на скрипт 2 и приравнивал при этом $a единице, а при нажатии на вторую ссылку переходил на всё тот же скрипт 2 приравнивая ту же переменную $a двум. Использовать кнопку формы не вариант.
//В начале каждого скрипта: session_start() // 1.php $_SESSION['a'] = 1; // 2.php $_SESSION['a'] = 2; Мой шаман подсказывает, что Вам просто необходимо прочитать материал для начинающих. Ищите "na_tanke"
topas, вы не так поняли точнее невнимательно прочитали. Мне необходимо чтоб переменная обретала то или иноя значение только при нажатии на ссылку, причём обе ссылки находяться в скрипте 1 и обе переходят на скрипт 2.
BlackAngel Смею поправить: это Вы не так поняли, а точнее невнимательно прочитали. Бегом читать "На танке". PS> В этой теме, м-р Kreker уже дал Вам ответ
topas благодарю вас за данную статью и личное сообщение, хочу так же извениться если был слишком резок в предыдущем посте. Постараюсь развееять ваши сомнения. На самом деле истинная ситуация такова: Я не являюсь специалистом по вебразработке и программированию, более того не претендовал на это, не претендую и не собираюсь этого делать в дальнейщем. Однако из предложенной статьи я непочерпнул ничего нового и увы тем более полезного. Общие принципы веб вёрстки и программирования мне известны, этим я занимаюсь на любительской основе, в результате чего сложилось так что я создал несколько сайтов для друзей и знакомых... ну и как следствие их поддерживаю. Что касаеться моего изначального вопроса то дело в следующем: есть небольшой сайт (интернет магазина автозапчастей) где фактически всегда загружаеться одна и та же страница (скрипт) - index.php, в которой по средством логических функций и оператора инклуде комплектуется из раздробленных на необходимые логические фрагменты страница. Эти логические фрагменты делятся на два типа: оформления страницы и контент страницы, причём нетрудно догадаться, что контент меняеться при нажатье на любую ссылку. Информация о выборе файла содержащего необходимый контент передаёться в переменной в виде некого идентификатора. В данный момент это происходит предложенным Kreker'ом методом GET. На сайте используеться сессия, и в силу определённых технических тонкостей, а так же что бы идентификаторы страниц не светились в адресной строке я хочу просто передовать их по средством переменных сесии. Вот тут то у меня и возникла проблемма - как переменной идентификатора присваивать значение идентифиатора будущей страницы контента только при нажатии сылку и значение напрямую зависящее от конкретной ссылки.
Насколько я понимаю, это можно сделать через аякс, но лучше так не делать. Да и вообще, в чём проблема передать GET'ом переменную? Например передал переменную index.php?a=1 А в скрипте смотришь: PHP: switch ($_GET['a']) { case '1': include('file1.php'); break; case '2': include('file2.php'); break; default: include('file.php'); } Какой смысл скрывать еденичку?
Вот это и есть то, за что я зацепился. Благодарю за исчерпывающий вопрос, теперь он понятен. Смею огорчить Вас: после того как скрипт отработал и apache отдал клиенту html мы не можем ничего записать в сессию. Но не отчаивайтесь! Есть возможность записать на стороне клиента свои куки. Т.е. если по простому, при клике на ссылку мы запускаем JavaScript, который выставляет нужные нам куки и только после этого отправляет нас на указанную страничку. Эврика! В адресной строке ничего кроме index.php нет! Не торопитесь идти по этому пути. Он не так хорош как может показаться на первый взгляд. Если посмотреть глубже, то мы сразу найдем в нем недостатки: 1. Пользователь не сможет поделиться ссылкой с другом 2. Поисковые роботы не смогут индексировать Ваши страницы Это основные минусы данного подхода. Уверен, что подключив фантазию можно найти еще больше, но поверьте, описанного выше уже достаточно чтобы отказаться от этой идеи. Как же поступить? Я посоветую уже ставшее стандартным решение! Например, у нас есть страница с книгами и страница с статьями. Раньше мы делали как? Предлагаю с помощью магического файла .htaccess исправить это дело: Это называется ЧПУ, и поверьте, это действительно удобно с любой стороны. Выбор за Вами!
BlackAngel За пару часов сна мне приснился еще один тупой способ: Пользователи переходят по ссылкам ввида: index.php?page=books PHP: <?php //в index.php: if (isset($_GET['page'])) { $_SESSION['page'] = $_GET['page']; header('Location: ' . $_SESSION['page']) } ?>
Горбунов Олег Я, в свое время, занимался подобной х... подобными вещами: у меня каждый тэг <a href> "превращался" в "магический". При наведении мыши на <a>, я заполнял форму. При клике по <a> - я отправлял форму. Осознание того что это глупость пришло значительно позже
Да... пожалуй вы все правы, наверное я зря замарочился. Меня несколько раздражал идентификатор в командной строке (сугубо эстетический аспект) да тут же на форуме подлили масло в огонь мол выдет 6 версия пхп и поддержку передачи переменных в в адресной строке прикроют (может я что то не так понял)... ну и потянуло изобретать велосипед... В любом случае всем спасибо, особенно topas'у.