@
перед вызовом функции подавляет любые ошибки, которые могут появиться во время вызова функции.
Добавление @
перед session_start
указывает PHP избегать печати сообщений об ошибках.
Например:
Использование session_start()
после того, как вы уже что-то напечатали в браузере, приводит к ошибке, поэтому PHP отобразит что-то вроде «заголовки не могут быть отправлены: началось с (строка 12)», @session_start()
все равно не будет работать в этом случае, но сообщение об ошибке не будет напечатано на экране.
Перед включением файлов или перенаправлением на новую страницу используйте функцию exit()
, иначе произойдет ошибка.
Этот код можно использовать во всех случаях:
<?php
if (session_status() !== PHP_SESSION_ACTIVE || session_id() === ""){
session_start();
}
?>