передача переменной между страницами

Хороший способ передать переменную между страницами с помощью метода $ _GET с url:

<a href="input_obj.php?id='$id'&method=plain 

и взять его в файл input_obj.php с таким кодом:

 $id = $_GET['id']; $method = $_GET['method']; 

ИЛИ

используя сеанс – есть кто-то идея, как?

Это зависит от ваших потребностей. Действительно, если вы, например, передаете аргументы поиска между страницами, а переменные должны быть как постоянными, так и доступными для конечного пользователя (например, посредством закладок), а затем передавать их по URL-адресу (но обычно не используют кавычки, например, у вас есть $id в "input_obj.php?id='$id'&method=plain )

Если вы действительно передаете внутренние переменные между сценариями, это лучше сделать с помощью переменных $_SESSION . Помните, что конечные пользователи могут легко изменять переменные, проходящие через URL-адреса. Если они не предназначены для использования конечным пользователем, это может быть реальной проблемой. Используя $_SESSION , вы изолируете переменные вашего скрипта от подделки конечным пользователем, когда необходимо изолировать их. (если, конечно, переменные не создаются другим пользователем через GET / POST / COOKIE)

 //page1.php session_start(); $_SESSION['id'] = $id; //page2.php session_start(); echo $_SESSION['id']; 

Переменные GET – намного лучший способ. Когда вы начинаете отбрасывать переменные в сеанс, у него могут быть побочные эффекты, такие как копирование / вставка URL-адреса из браузера в браузер или попытка закладки, может вызвать разные страницы (что, следовательно, является кошмаром для SEO). Кроме того, у вас могут возникнуть сложности, если вы когда-либо начинаете кластеризовать свои серверы b / c, вам нужно будет справиться с переключением сеанса.

IMHO, лучшим решением является использование mod_rewrite для реализации переменных на основе пути … вы получаете довольно URL-адреса со всеми преимуществами GET-варов.

GET – разумный способ передать переменные на другую страницу.

$_SESSION и cookies – это еще один способ, но он не позволит пользователю добавлять закладки на страницу.

POST – это еще один способ, но для этого требуется представление формы, которое должно было бы потребовать вмешательства пользователя или javascript.

Это зависит от того, для чего предназначены данные, его типа и длины. Как правило, передача переменных в строке запроса прекрасна.

Имейте в виду, что при принятии изменяемых параметров вам нужно убедиться, что они являются тем, что вы ожидаете от них. Например, я мог бы изменить ?id=5 на ?id=hello и, возможно, разорвать ваше приложение. Чтобы исправить это, мы могли бы присваивать идентификатор целому числу:
$id = isset($_GET['id']) ? (int) $_GET['id'] : 0;

Вы также можете использовать файлы cookie. Они отправляются следующим образом:

 setcookie(name, value, expire, path, domain); 

вы можете опустить путь и переменные домена. Это должно быть объявлено перед тегом. Имя – это просто имя, с которым вы его получите. Значение – это то, что будет возвращено и истечет – время, в которое истекает срок действия файла cookie (он записывается в виде time() + $timeTillExpire где timetillexpire – это значение переменной или константы, которое вы задали). Это, конечно, имеет ограничение, если у человека есть файлы cookie, это не сработает.

Вы получаете cookie с:

 $_COOKIE["name"]; 

и возвращает значение

то, как вы это делали, отлично работает.

Если вы просто используете переменные в своем PHP-скрипте, вам не нужно «передавать» их. Вы можете создать переменную глобально и получить доступ к ней с другой страницы.