Поэтому мне было интересно, можно ли хранить данные, поступающие из формы в качестве переменной сеанса.
Вот что я до сих пор знаю, но я не знаю, что положить на форму.
Спасибо, что посмотрели!
<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' ] сохранит старый параметр