Intereting Posts
Используя PHP, произвольно соединяйте группу элементов, не связывая их с самим собой, без прямых пар Есть ли разница в скорости между <? Php echo $ var; ?> и <? = $ var?>? преобразование строки, содержащей ключи и значения в массив сортировка дерева массивов php Как получить MAC-адрес клиента с помощью PHP? Laravel: Слишком мало аргументов для функции Illuminate \ Support \ Manager :: createDriver () Оптимизация процесса поиска MySQL Twitter загрузочный лоток распространяется на динамические веб-сайты Экспорт CSV из Mysql Правило перезаписи Nginx для CodeIgniter Вызов статического метода из класса B (который расширяет класс A) класса A WordPress / Woocommerce: как получить определенную дочернюю категорию по «id» из идентификатора родительской категории Можно ли заменить функции (monkeypatch) PHP? Можно получить вывод Phalcon \ Mvc \ View в переменную? Какая хорошая система управления пользователями с открытым исходным кодом?

Хранение данных формы как переменной сеанса

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

Вот что я до сих пор знаю, но я не знаю, что положить на форму.

Спасибо, что посмотрели!

<strong>Test Form</strong> <form action="" method"post"> <input type="text" name="picturenum"/> <input type="submit" name="Submit" value="Submit!" /> </form> <? if (isset($_POST['Submit'])) { $_session['picturenum'] = $_POST['picturenum']; } ?> <strong><? echo $_session['picturenum'];?></strong> 

Чтобы использовать переменные сеанса, необходимо запустить сеанс с помощью функции session_start , это позволит вам хранить ваши данные в глобальной переменной $_SESSION постоянным образом.

поэтому ваш код будет выглядеть следующим образом:

 <strong>Test Form</strong> <form action="" method"post"> <input type="text" name="picturenum"/> <input type="submit" name="Submit" value="Submit!" /> </form> <?php // starting the session session_start(); if (isset($_POST['Submit'])) { $_SESSION['picturenum'] = $_POST['picturenum']; } ?> <strong><?php echo $_SESSION['picturenum'];?></strong> 

чтобы упростить его использование и чтобы не забыть его снова, вы можете создать session_file.php который будет включаться во все ваши коды и запустит сеанс для вас

session_start.php

  <?php session_start(); ?> 

а затем включить его, где угодно:

 <strong>Test Form</strong> <form action="" method"post"> <input type="text" name="picturenum"/> <input type="submit" name="Submit" value="Submit!" /> </form> <?php // including the session file require_once("session_start.php"); if (isset($_POST['Submit'])) { $_SESSION['picturenum'] = $_POST['picturenum']; } ?> 

это более переносимый и простой способ поддерживать в будущем.

другие замечания

  • если вы используете Apache версии 2 или более, будьте осторожны, а не
    <?
    для открытия тэгов php используйте <?php , иначе ваш код не будет интерпретироваться

  • имена переменных в php являются чувствительными к регистру, а не write $ _session, записывают $ _SESSION заглавными буквами

хорошая работа !

Это прекрасно и будет работать. Но для использования сеансов вам нужно поставить session_start(); в первой строке PHP-кода. Итак, в основном

 <?php session_start(); //rest of stuff ?> 

Да, это возможно. kizzie правильно с session_start(); нужно идти первым.

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

 strip_tags($value); 

и / или

 stripslashes($value); 

Вы можете решить эту проблему, используя этот код:

 if(!empty($_GET['variable from which you get'])) { $_SESSION['something']= $_GET['variable from which you get']; } 

Таким образом, вы получаете переменную из формы GET, которую вы будете хранить в переменной $ _SESSION ['whatever'] только один раз, когда $ _GET ['variable from which you get'] установлена, и если она пуста $ _SESSION ['something' ] сохранит старый параметр