[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: опять сессии и как их редактировать?
sebastjan
С темой по добавденю значений по сессии разобрался ну а вот как удалять то или иное значение из текущей сессии не получаеться.
Очень прошу помощи, вот коротенький скрипт но не работает.
Установлен денвер и пхп5
<?
session_start();
echo "<form action='m.php' method='post'>
<input name='id1' type='hidden'/>
<input name='ss1' value='BAZA-Konfety' type='hidden'/>
<input name='ok1' type='submit' value='ok1'/><br/><br/>
<input name='del1' type='submit' value='Delet1'/>
</form>"
;
echo "<form action='m.php' method='post'>
<input name='id2' type='hidden'/>
<input name='ss2' value='Avrora' type='hidden'/>
<input name='ok2' type='submit' value='ok2'/><br/><br/>
<input name='del2' type='submit' value='Delet1'/>
</form>"
;
if( $_POST['ok1']){// esli nazata knopka ok1
$i=$_POST['id1'];//inizializacija peremennoi
$_SESSION['$i']['name-BD']=$_POST['ss1'];
foreach($_SESSION['$i'] as $key=>$value)
{ echo $key."====".$value."<br><br>"; }
///////////////////////////////////
}
if( $_POST['ok2']){// esli nazata knopka ok2
$i=$_POST['id2']; //inizializacija peremennoi
$_SESSION['$i']['sort']=$_POST['ss2'];
foreach($_SESSION['$i'] as $key=>$value)
{ echo $key."====".$value."<br><br>"; }
}

//////////////////////////////////
// knopka delet1 dlja udelenia casti sessii
if ($_POST['del1']){
$i=$_POST['id1'];
session_unregister('si');
}
?>




Спустя 5 минут, 1 секунда (10.02.2011 - 18:51) Snus написал(а):
sebastjan
$_SESSION['si'] = NULL;

Спустя 20 минут, 46 секунд (10.02.2011 - 19:11) kovaldm написал(а):
unset($_SESSION['var_name']);

Спустя 2 минуты, 37 секунд (10.02.2011 - 19:14) sebastjan написал(а):
Цитата (Snus @ 10.02.2011 - 15:51)
sebastjan
$_SESSION['si'] = NULL;

Цитата (Snus @ 10.02.2011 - 15:51)
sebastjan
$_SESSION['si'] = NULL;

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

Спустя 2 минуты, 55 секунд (10.02.2011 - 19:17) sebastjan написал(а):
Цитата (kovaldm @ 10.02.2011 - 16:11)
unset($_SESSION['var_name']);

А этот спосроб выдаёт ошибку
Вот код, если не трудно гляньте пожалуйста

<?
session_start();
echo "<form action='m.php' method='post'>
<input name='id1' type='hidden'/>
<input name='ss1' value='BAZA-Konfety' type='hidden'/>
<input name='ok1' type='submit' value='ok1'/><br/><br/>
<input name='del1' type='submit' value='Delet1'/>
</form>"
;
echo "<form action='m.php' method='post'>
<input name='id2' type='hidden'/>
<input name='ss2' value='Avrora' type='hidden'/>
<input name='ok2' type='submit' value='ok2'/><br/><br/>
<input name='del2' type='submit' value='Delet1'/>
</form>"
;
if( $_POST['ok1']){// esli nazata knopka ok1
$i=$_POST['id1'];//inizializacija peremennoi
$_SESSION['$i']['name-BD']=$_POST['ss1'];
foreach($_SESSION['$i'] as $key=>$value)
{ echo $key."====".$value."<br><br>"; }
///////////////////////////////////
}
if( $_POST['ok2']){// esli nazata knopka ok2
$i=$_POST['id2']; //inizializacija peremennoi
$_SESSION['$i']['sort']=$_POST['ss2'];
foreach($_SESSION['$i'] as $key=>$value)
{ echo $key."====".$value."<br><br>"; }
}

//////////////////////////////////
// knopka delet1 dlja udelenia casti sessii
if ($_POST['del1']){
$i=$_POST['id1'];
unset($_SESSION['id1']);/// vidaion oshibku
//$_SESSION['si'] = NULL; }
?>

Спустя 33 минуты, 48 секунд (10.02.2011 - 19:51) kovaldm написал(а):
Какую ошибку?

Спустя 3 минуты, 40 секунд (10.02.2011 - 19:54) sebastjan написал(а):
Цитата (kovaldm @ 10.02.2011 - 16:51)
Какую ошибку?

Parse error: syntax error, unexpected $end in Z:\home\mag1\www\m.php on line 34


Спустя 1 минута, 56 секунд (10.02.2011 - 19:56) sebastjan написал(а):
Цитата (sebastjan @ 10.02.2011 - 16:54)
Цитата (kovaldm @ 10.02.2011 - 16:51)
Какую ошибку?

Parse error: syntax error, unexpected $end in Z:\home\mag1\www\m.php on line 34

Немного подправил, в условии if была не закрыта скобкак.
Но всё равно очищает всё.

Спустя 3 минуты, 5 секунд (10.02.2011 - 19:59) sebastjan написал(а):
Вроде уже указал явно

if ($_POST['del1']){
//$i=$_POST['id1'];
$_SESSION['id1']=$_POST['id1'];
unset($_SESSION['id1']);/// vidaion oshibku
}

Но исчезает всё

Спустя 10 минут, 34 секунды (10.02.2011 - 20:10) kovaldm написал(а):
Вобще весь массив исчезает?

Спустя 3 минуты, 50 секунд (10.02.2011 - 20:14) inpost написал(а):
$_SESSION['$i']
Может ты имел ввиду: $_SESSION[$i] ?
Сверху инициализируешь $_POST, а следующей строчкой удаляешь $_SESSION, ты уверен, что правильно поступаешь? Потому что с таким именем $_SESSIOН я не вижу на странице.

Запусти print_r($_SESSION);

Спустя 7 часов, 59 минут, 5 секунд (11.02.2011 - 04:13) sebastjan написал(а):
Хочу всё же отписать так как разобрался и попблагодарить всех за помощь, без которой я врятли бы разобрался.
Вот работающий вариант
Хочу сказать следующеее.....
сначало я как и советовали разобрался что остаёться в масссиве сессии print_r($_SESSION);
тес самым я понял что в сессии остаёться второй не удалённый массив.
Только не мог долго допетрить как его от туда вызвать.
А оказалось как обычно foreach($_SESSION[$i] as $key=>$value)
Ещё раз огромное спасибо за помощь всем кто отозвался


<?
session_start();
header("Content-Type: text/html; charset=utf-8");

echo "<form action='m.php' method='post'>
<input name='a' type='hidden'/> <!---////-kljuc indefikator-->
<input name='s' value='BAZA-Konfety' type='hidden'/>
<input name='ok' type='submit' value='ok'/><br/><br/>
<input name='delet' type='submit' value='Delet1'/>
</form>"
;
echo "<form action='m.php' method='post'>
<input name='b' type='hidden'/> <!---/////-kljuc indefikator-->
<input name='ss' value='Avrora' type='hidden'/>
<input name='okk' type='submit' value='okk'/><br/><br/>
<input name='dele' type='submit' value='Delet1'/>
</form>"
;

if( $_POST['ok']){// esli nazata knopka ok1 prisvaivaem znacenie sessii
$i=$_POST['a'];
$_SESSION[$i]['name-BD']=$_POST['s'];
foreach($_SESSION[$_POST['a']] as $key=>$value)
{ echo $key."====".$value."<br><br>"; }
}

///////////////////////////////////
if( $_POST['okk']){// esli nazata knopka ok2 prisvaivaem znacenie sessii
$i=$_POST['b'];
$_SESSION[$i]['Sort-']=$_POST['ss'];
foreach($_SESSION[$_POST['b']] as $key=>$value)
{ echo $key."====".$value."<br><br>"; }
}

//////////////////////////////////
// knopka delet1 dlja udelenia casti sessii
if ($_POST['delet']){
$i=$_POST['a'];
unset( $_SESSION[$i]['name-BD']) ;// probuju udalit session s kljucom ['a']['name-BD']
foreach($_SESSION[$i] as $key=>$value)
{ echo $key."====".$value."<br><br>"; }
}

?>



Спустя 6 часов, 41 минута, 19 секунд (11.02.2011 - 10:54) Snus написал(а):
sebastjan
С логикой у вас проблемы :)
Если нужно удалить отдельный элемент из массива:
$_SESSION['si']['name-BD'] = NULL;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.