Вопрос по Php | Крымский форум

Вопрос по Php

  • Добро пожаловать на форум! Рады видеть вас здесь! Зарегистрируйтесь или Войдите в аккаунт, чтобы иметь полный доступ к площадке!

Denni

Местный житель
Эксперт
Сообщения
705
Реакции
0
Репутация
1
Проблема такая - Не могу удалить из таблицы базы строку, в которой находится номер текущей сессии.

Сам код:
Код

Запись в базу сессии:
session_start(); - стартуем сессию

---какие-то действия-----

$currsession = session_id(); // запихиваем ид сессии в переменную
$sqlsess = mysql_query("INSERT INTO 'base'.'table' (id) VALUES ('$currsession')",$db_connect);
header('location: rand/first.php?sid='.htmlspecialchars($currsession));

---сессия успешно записалась в базе-----

Попытка удалить из базы:
session_start(); - стартуем сессию

---какие-то действия-----

$exitsession = $_GET['sid'];
if(isset($_POST['exit'])) {
$deletesession = mysql_query("DELETE FROM 'base'.'table' WHERE 'table'.'id' = '".$exitsession."'",$db_connect);
session_destroy();
header('location: ../index.html');
}
print_r('<form method="post"><input type="submit" name="exit" value="EXIT"></input></form>

---сессия НЕ удалилась из базы-----

Где у меня ошибка?[glow=][/glow]
 
Код
mysql_query("DELETE FROM table WHERE id = '".session_id()."'");


P.S. кстати расширение mysql помечено как deprecated в версии PHP5.5. Лучше уже сегодня переходить на mysqli или PDO, чтоб не было проблем в будущем.
 
Спасибо =) работает =)
а почему тогда не сработало, если сессию запихать в переменную?
 
Цитата(Denni @ 6 Июня, 2013, 12:38)
а почему тогда не сработало, если сессию запихать в переменную?

Потому что, во первых имя сессии по умолчанию PHPSESSID, а не sid, во вторых по умолчанию используется только куки, если вы сами не включили в настройках session.use_trans_sid. Поэтому в $_GET['sid'] ничего не было.
 
Да, еще session_id() нужно прогонять через mysql_real_escape_string(). Т.к идентификатор сессии - это пользовательские данные, защита от инъекций должна быть обязательно.
 
спасибо за пояснения, будем исправлять)
 
Назад
Сверху