2012-03-27 3 views
2

Когда пользователь ссылки на ссылку перенаправляет на 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

ли 'session_start()' в верхней части * каждой * страницы? –

+0

его только одна страница, и форма отправляется на ту же страницу – meWantToLearn

ответ

2

Это потому, что вы повторное объявление вашего $ _SESSION [ 'пользователя'], даже если это POST (я думаю).

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

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

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

+1

, когда форма отправляется, $ _GET ['id'] не отправляется – meWantToLearn

+0

Затем используйте второе решение, или вы также можете проверить 'if (! Isset ($ _SESSION ['user'])) 'вместо' if (isset ($ _ GET ['id'])) ' – haltabush

+0

csci203) – meWantToLearn

Смежные вопросы