2010-08-06 3 views
5

Существует $variable, его значение большое Array().PHP save variables

Создано внутри function one() { ... } на странице first.php.

first.php имеет вид с method="post", после submition перезагрузки страницы на second.php

Есть ли способ, чтобы получить значение $variable внутри function two() { ... } на second.php?

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

Спасибо.

ответ

4

Использование «session_start()» функция в самом начале любой веб-страницы PHP, только после первого запуска PHP тега (<?php).

Затем сохранить переменное твой в суперглобальный переменный массиве сессии, на странице «first.php», как: -

<?php 
session_start(); // This line must be at the very beginning of this PHP page. 

function one() { 
    // blah, blah, ... 

    if(isset($variable) && !empty($variable)) { 
     $_SESSION['customVariable'] = $variable; 
    } 

    // some more blah, blah, ... 
} 
?> 

Теперь, если вы пришли на страницу «second.php», вам нужно для доступа к функции этой страницы, как: -

<?php 
function two() { 
    // if any blah, blah, ... 

    if(isset($_SESSION['customVariable']) && !empty($_SESSION['customVariable'])) { 
     $variable = $_SESSION['customVariable']; 
    } 

    // next series of blah, blah, ... 
} 
?> 

Но на этой странице «second.php», функция «session_start()» должен быть написана в самом начале страницы, сразу после первого запуска PHP тега.

Надеюсь, это поможет.

4

Вы ищете Сессии. Сессии позволяют сценарию хранить данные, специфичные для пользователя, на стороне сервера, не передавая их через форму.

В справочнике Sessions book in the PHP manual имеется полная ссылка.

На session_start() manual page приведен простой пример.

+0

Вы можете указать код? сначала услышать о сеансах – James

+0

@Ignatz см. вторую ссылку, у нее есть полный рабочий пример. –

+1

@Ignatz, то, скорее всего, вам не требуется session_start(): просто сохраните свои данные в '$ _SESSION'. Чтобы убедиться, что вы не вмешиваетесь в что-либо, установленное Wordpress, лучше всего префикс ваших переменных чем-то уникальным, например. '$ _SESSION [" Ignatz_variablename "]' (вы знаете, что я имею в виду). В будущих вопросах убедитесь, что вы всегда указываете, что находитесь в проекте Wordpress, это почти всегда важно. –