сессия теряется после отправки формы - PullRequest
2 голосов
/ 28 марта 2012

Когда пользователь ссылается на ссылку, он перенаправляет на edit.php - вот пример: www.cars.com/edit.php?id=23

В edit.php я использую _GET длясохранить значение в сеансе.Значение сохраняется в $_session['user'], но при отправке формы на той же странице echo $_session['user'] ничего не отображается - как я могу заставить его отображать значение ?.

<?php 
 session_start();
 $_session['user']=$_GET['id'];  // I use _GET to store the value in session
if( isset($_POST['submit'])) {
  echo $_session['user'];

}

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="formI2D"     enctype="multipart/form-data" id="formI2D" />

1 Ответ

2 голосов
/ 28 марта 2012

Это потому, что вы переделываете свой $ _SESSION ['user'], даже когда это POST (я думаю).

Вы можете исправить это, добавив ?id=$_GET['id'] в действие вашей формы или обернув свою инициализацию $_SESSION следующим образом:

if (isset($_GET['id'])) {
     $_SESSION['user']=$_GET['id'];
}

Кроме того, вы должны использовать прописные буквы для глобальных массивов php ($_POST, $_COOKIE, $_SESSION и т. Д.)

...