2011-12-19 3 views
0

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

+0

Как эти две php-страницы связаны друг с другом? Со ссылкой в ​​браузере? Это так: [PHP Variable - Multiply pages] (http://stackoverflow.com/questions/6998386/php-variable-multiply-pages)? – hakre

ответ

0

вы можете положить что-то в переменной сеанса, которая может быть доступна на любой странице

0

Если вы беспокоитесь о связи двух PHP-страниц, вы можете просто добавить его к ссылке:

one.php:

<a href="two.php?variable=<?php echo rawurlencode($variable);>"link</a> 

two.php:

<?php echo htmlspecialchars($_GET['variable']); ?> 

См. Variables From External Sources­Docs и $_GET­Docs.

1

Использовать переменные сеанса.

Прежде всего, каждая страница, на которой вы хотите использовать сеансы, должна иметь функцию session_start(); объявленный в верхней части каждой страницы. Затем вы можете использовать сеанс суперглобальный для хранения вещей.

Page1.php: 
    <?php 
    session_start(); 
    $_SESSION['variable_name'] = 'some string'; 
    ?> 

Page2.php: 
    <?php 
    session_start(); 
    echo $_SESSION['variable_name']; 
    ?> 

page2.php покажет: некоторые строки

Вы можете хранить строки, Интс, массивы и т.д. удачи.

+0

@ p.campbell спасибо, я немного смутился там, потому что я был посреди дела, что ты сделал, ты просто избил меня на 10 секунд. – TamDenholm

1

Существует много способов сделать это, в зависимости от вашей установки и ваших потребностей.

  • Одним из наиболее распространенных способов является использование переменных session. Это сохранит значение (-ы) на стороне сервера таким образом, который доступен в любом месте приложения PHP. Значение, в конечном счете, истечет и будет потеряно, если не сохранится в другом месте.
  • Вы можете сохранить значение в cookie. Это означало бы, что браузер будет отправлять значение каждый раз, когда он обращается к странице, поэтому есть немного больше сетевых издержек. Это позволит вам установить, чтобы cookie никогда не заканчивался, поэтому значение сохраняется при нескольких посещениях веб-сайта. Тем не менее, файлы cookie также находятся в распоряжении пользователей, поскольку они хранятся на стороне клиента. Некоторые пользователи могут не разрешать вам устанавливать файлы cookie, некоторые из них могут удалить их позже и т. Д.
  • Вы можете сохранить это значение в каком-то постоянном хранилище на стороне сервера, например database или даже просто file. Это позволит вам управлять сервером данных и отделять его персистентность от приложения PHP, поскольку приложения более преходящи и ненадежны для долговременного сохранения данных.
  • Вы даже можете добавить значение к гиперссылкам на одной странице, чтобы передать его в качестве параметров URL на другие страницы. Что-то вроде: <a href="otherpage.php?value=<?php echo urlencode($someValue) ?>">click here</a> Это позволит вам передать значение на следующей странице, а затем полностью забыть об этом после того, как оно будет использовано, если вам не нужно его хранить ни для чего другого.

Как и во многих других случаях, у вас есть много вариантов.

0

Вам нужна переменная сеанса. Сделать это следующим образом:

$_SESSION['my_var'] = 'your_value'; 

Тогда вам просто нужно использовать $_SESSION['my_var'] везде вам это нужно как глобальная переменная. Обратите внимание, что вы должны положить session_start(); в первую строку ваших файловых кодов везде, где хотите работать с PHP-сессиями.

Смежные вопросы