Постоянство переменных в PHP - PullRequest
2 голосов
/ 20 июля 2009

У меня есть страница php, на этой странице у меня есть текстовые поля и кнопка отправки, эта кнопка запускает php в секции:

если (Исеть ($ _ POST [ 'Add'])) {код}

Это прекрасно работает здесь, и в этом разделе вычисляются и используются $ name, $ base, $ location и т. Д. но этот раздел кода генерирует еще одну кнопку отправки, которая управляет другим разделом кода.

именно во втором разделе кода я хочу добавить данные в БД. Теперь я уже знаю, как это сделать, проблема в том, что переменные $ name и т. Д. Имеют значение NULL на данный момент ... но они могут быть вызваны только после запуска первой секции кода, где они получают значение.

Как мне сохранить эти значения до момента, когда я добавлю их?

Ресурсы:
страница не стесняйтесь попробовать: местоположение должно иметь форму 'DNN: NN: NN: NN', где D - это "D", а N - это 0-9 целое число
http://www.teamdelta.byethost12.com/postroute.php

код php файла в виде текстового файла!
http://www.teamdelta.byethost12.com/postroute.php
строки 116 и 149 являются началом двух секций запуска кнопки!

Ответы [ 4 ]

3 голосов
/ 20 июля 2009

Я думаю, вы ищете материал для обработки сессий PHP ...

Например, первая страница:

session_start(); # start session handling.
$_SESSION['test']='hello world';
exit();

вторая страница:

session_start(); # start session handling again.
echo $_SESSION['test']; # prints out 'hello world'

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

Полная информация о работе с сессиями:

http://uk.php.net/manual/en/book.session.php

3 голосов
/ 20 июля 2009

Вокруг кнопки добавления вы создаете вторую форму. Если вы хотите, чтобы данные были в этой форме, вам придется создать скрытые поля ввода. Потому что вы отправляете вторую форму здесь. Или вы перемещаете кнопку добавления на другую форму.

Или, как говорят другие. Сохраните значения в сеансе.

2 голосов
/ 20 июля 2009

вы можете хранить их в сеансе

// first part of form, store name in session
$_SESSION['name'] = $_POST['name'];

// 2nd part of form, store in database
$name = mysql_real_escape_string($_SESSION['name']); 
$sql = "INSERT INTO table (name_column) VALUES ('$name');
1 голос
/ 20 июля 2009

Вы также можете попробовать использовать скрытые переменные форм для хранения данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...