Jump to content
  • 0

Как передать переменную на другую страницу


Hoax
 Share

Question

вопрос по PHP

Например у меня есть форма на странице admin.php :

<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"><textarea name="text"></textarea><input type="submit" /></form>

Тут же я получаю и сохраняю форму :

class go {publick static $atr = $_POST['text'];}

И есть страница index.php

 

Где я хочу получить данные в виде:

echo go::$atr;

Как мне связать данные страницы, ведь с inlude подключатся и html-код, а лишь нужен объект, обычное св-во которое нужно всего навсего передать...

 

Может быть как-то можно подключать файлы в контексте объекта? Например чтобы страница admin.php и index.php были в контекте объекта go, где без проблем можно было бы получить все что надо.

 

Я - начинающий :mellow:

Edited by Hoax
Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0

Я изучил GET и POST, в данном случае можно передать указав в action="index.php", но мне не нужен переход, а обработка запроса на текущий странице, поэтому и поставил в action соответствующее. Я пробовал наследование, предопределение и т.д. Но так и не мог допетрить эту казалось бы простую задачу.

Edited by Hoax
Link to comment
Share on other sites

  • 0

Я изучил GET и POST, в данном случае можно передать указав в action="index.php", но мне не нужен переход, а обработка запроса на текущий странице, поэтому и поставил в action соответствующее. Я пробовал наследование, предопределение и т.д. Но так и не мог допетрить эту казалось бы простую задачу.

Просто не указывать action="index.php" и все 

Link to comment
Share on other sites

  • 0

я так понимаю у вас есть

admin.php

в котором форма

action="<?php echo $_SERVER['PHP_SELF'] ?>"

можно удалить и тогда ваша форма будет по умолчанию передавать данные на текущую страницу

 

и есть

index.php

на котором у вас есть некий код, в котором вы хотели бы получить данные введенные в форме

 

я так понимаю index.php и admin.php - совершенно не зависимые страницы и ни одна из них не инклудится в другой

 

т.е. вы хотите в admin.php указать какой-то параметр, который в последствии потом при заходе на index.php как-то влиять на верстку

в вашем коде, где вы сохраняете данные из формы - вы сохраняете их в класс который отрабатывает на странице admin.php и хранится она там доли секунды, пока работает скрипт, после она удаляется и даже пока она существует она не будет доступнав другом скрипте

.

Если вы хотите ее сохранить для последующего чтения, нужно ее сохранять в БД или какой-нибудь файл, а в index.php прочитать БД или файл, записав данные от туда в вашу переменную go::$atr тогда вы сможете ее по этой ссылке достать.

Edited by Switch74
Link to comment
Share on other sites

  • 0

Самый простой и быстрый(но не вседа лудший) способ - закинуть данные в сессию, если не хотите обработчик формы и вывод данных переносить на один адрес.

$object = (object)array (    'param1' => '1qweqwe',    'param2' => '2qweqwe',    'param3' => '3qweqwe');// Серриализация и сохранение в сессионную переменную.$_SESSION['object'] = serialize($object);// Серриализация и сохранение в сессионную переменную.// Если делается десеарелизация экземпляра пользовательского класса, тогда// нужно предварительно подрузить определение этоо класса.// require_once 'myclass.php';$object = unserialize($_SESSION['object']);
Edited by CoDy
Link to comment
Share on other sites

  • 0

Всё зависит от цели и возможностей. Есть ли у нас доступ к настройкам сервера? Сколько у нас ресурсов? Как долго мы хотим хранить данные? Если есть цель хранить данные долго, и менять настройки сервера мы не можем, либо не хотим, то есть вариант хранить в куках хеш-идентивикатор, по которому нас сервер будет «авторизовывать»/узнавать и давать нам из базы любой объём данных по желанию

Link to comment
Share on other sites

  • 0
не большое уточнение по сессии данная переменная будет доступна только для вас и ограниченный промежуток времени
 

 

Если вы хотите ее сохранить для последующего чтения, нужно ее сохранять в БД или какой-нибудь файл, а в index.php прочитать БД или файл, записав данные от туда в вашу переменную go::$atr тогда вы сможете ее по этой ссылке достать.
Edited by Switch74
Link to comment
Share on other sites

  • 0

Я описал процесс подобия сессии со своими возможностями, а вы только хранения данных, и по вашему описанию эта переменная будет доступна всем.

 

Я, чесно, не понимаю что же хочет ТС, просто показал разницу между нашими описаниями процесса

Link to comment
Share on other sites

  • 0

проверку кому выдавать переменную не проблема сделать ибо авторизация происходит и в том и в другом случае

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

Link to comment
Share on other sites

  • 0

Объясню. Вот как я уже сказал у нас есть 2 файла : admin.php и index.php

 

в первом (админе.пхп) мы пишем в форму какой-то текст, далее в нем же подключаемся к базе данных в записываем текст в таблицу.

в файле индекса мы должны вывести указанный текст, вот только чтобы нам получить именно тот текст, который был записан в таблицу ПОСЛЕДНИМ, (к примеру) нужно LAST_INSERT_ID(), однако указанная ф-я  возвращает последний id только в запросе записи в таблице (или сразу же после нее).

 

Короче говоря, мы можем получить LAST ID в admin.php и записать его в переменную, но вот проблема, как эту переменную передать в index.php и вывести строку с указанным id?

 

(это как пример, конечно можно тут использовать сортировку типо ORDER BY id DESC и т.д. я имею в виду общую иерархию, что это было бы гораздо удобнее)

Edited by Hoax
Link to comment
Share on other sites

  • 0

Я вообще не понимаю в чем проблема ? Если вы получаете переменную из admin.php какая проблема передать ее аргументом в index.php ?

Зачем вам сортировка ? Не изобретайте велосипед, посмотрите как люди делают авторизацию. У вас явно не хватает знаний пока.

Link to comment
Share on other sites

  • 0

 У вас явно не хватает знаний пока.

Поэтому и спрашиваю ^_^

Я не делаю авторизацию, а просто написание и отображение текста.

А можно простенький пример про передачу с аргументом?

Edited by Hoax
Link to comment
Share on other sites

  • 0

Объясню. Вот как я уже сказал у нас есть 2 файла : admin.php и index.php

...

(это как пример, конечно можно тут использовать сортировку типо ORDER BY id DESC и т.д. я имею в виду общую иерархию, что это было бы гораздо удобнее)

 

Ну дык, всё правильно, если это текст, заметка запись новости или блога.... именно с ORDER это и делается , либо id либо date

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy