|
|
|
|
|
для: SilentChild
(23.04.2008 в 16:23)
| | будет доступна, пока не закроете браузер, либо пока не не пройдёт минут 15...20 скок она там живёт непомню... неуверен но от браузера может зависить... у меня допустим сессия не закрывалась на одной вкладке, пока я на другой вкладке лазил вообще непонятно где пол часа,
поэтому Логаут должен присутствовать в обязательном порядке (признак хорошего тона) | |
|
|
|
|
|
|
|
для: Valick
(23.04.2008 в 15:43)
| | А если сессию не закрыть, то она через множество страниц тоже будет доступна? Или закроется после очередного выполненого сценария в котором она не будет использована? | |
|
|
|
|
|
|
|
для: SilentChild
(23.04.2008 в 15:30)
| | рекомендуется перед уничтожением сесии уничтожить все переменные. | |
|
|
|
|
|
|
|
для: Valick
(23.04.2008 в 15:26)
| | Проследил такую вещь:
когда у переменной изменяешь ченибуть как здесь:
$ins = mysql_query("INSERT INTO news VALUES('" . $$newsdt . "', $date, '$_POST[newsheader]', '$_POST[newsanons]', '$_POST[newsmainpart]')", $link_id);
|
То $ins считается успешно добавленными данными, а когда вот так:
$ins = mysql_query("INSERT INTO news(ddsf) VALUES('" . $newsdt . "', $date, '$_POST[newsheader]', '$_POST[newsanons]', '$_POST[newsmainpart]')", $link_id);
|
Тогда $ins считается не успешно добавленными данными!
Почему так, разве допускается в имени переменной два доллара - $$ins ?
Можно ведь стереть значение переменной после того как она будет не нужна?
Или не стирать значение, а просто сессию закрыть, чтобы в ней анулировалось всё?
Можно ли это сделать? | |
|
|
|
|
|
|
|
для: SilentChild
(23.04.2008 в 15:17)
| | И ещё может при неправильном запроси или соединении ели ещё чего выполнение скрипта оборваться и очередь до сохранения переменной в сессию не дойти, поэтому она и помнит старое значение. | |
|
|
|
|
|
|
|
для: Valick
(23.04.2008 в 15:06)
| | Ты ГЕННННННИЙ VALICK! | |
|
|
|
|
|
|
|
для: SilentChild
(23.04.2008 в 14:49)
| | а после добавления в базу у вас идёт строка в коде:
$_SESSION[ ' ins ' ] = $ins
|
ага уже вижу что идёт...
а попробуйте не имя сервера изменить, а запрос неправильный подать... | |
|
|
|
|
|
|
|
для: Valick
(23.04.2008 в 14:23)
| | В том то и дело когда я получаю переменную
$ins = $_SESSION[ ' ins ' ]
и переменная $ins всегда равна 1 даже если данные не добавились в базу!
<?php
session_start();
$ins = $_SESSION[ ' ins ' ]
echo $ins;
//всегда выдает 1
?>
|
| |
|
|
|
|
|
|
|
для: SilentChild
(23.04.2008 в 13:50)
| | содержать true = 1
либо false = 0
немного не так как вам хотелось бы.
при isset($_SESSION['ins']) оба эти значения будут удовлетворять условию, потому что они эти переменные существуют и имеют значение либо 1 либо 0.
далее надо проверять на $_SESSION['ins']==1 либо $_SESSION['ins']==0
если хотите чтоб выражение isset($_SESSION['ins']) давало фальш, то просто уничтожаете переменную unset($_SESSION['ins']); | |
|
|
|
|
|
|
|
для: Valick
(23.04.2008 в 13:21)
| | Я изменил имя сервера в запросе соединения с базой данных, тоесть зделал его не правильным, следовательно переменная $ins не должна добавить данные, а когда я передаю ее в сессии и получаю в следующей части кода:
session_start();
if (isset($_SESSION['ins']))
{
$ins = $_SESSION['ins'];
echo $ins;
}
|
то почемуто у меня $ins выводиться равным 1-му (ведь ноль должно быть - фальшь)?
Если переменная содержит команду добавления данных в базу, то при успешной работе она будет содержать true = 1
либо false = 0
Когда я передаю переменную то получаю ее всегда со значением один, не важно добавила ли она данные или нет!
Че за фигня? | |
|
|
|
|