session_name
(PHP 4, PHP 5, PHP 7, PHP 8)
session_name — Obtém e/ou define o nome da sessão atual
Descrição
session_name() retorna o nome da sessão
atual. Se name
for informado,
session_name() irá atualizar o nome da sessão e retornar
o nome da sessão antiga.
Se um novo nome de sessão for informado no parâmetro name
,
session_name() modificará o cookie HTTP
(e exibir o conteúdo quando session.use_trans_sid estiver
habilitado). Assim que o cookie HTTP tiver sido
enviado, chamar session_name() gerará um E_WARNING
.
session_name() deve ser chamada
antes de session_start() para a sessão funcionar
apropriadamente.
O nome da sessão é redefinido para o padrão guardado em
session.name
na inicialização da requisição. Por isso, deve-se
chamar session_name() para cada requisição (e antes que
session_start() seja chamada).
Parâmetros
name
-
O nome da sessão, que é usado em cookies e URLs (por exemplo,
PHPSESSID
). Ele deve conter apenas caracteres alfanuméricos; deve ser curto e descritivo (para usuários com avisos de cookie habilitados). Sename
for informado e diferente denull
, o nome da sessão atual será modificado para o novo valor.WarningO nome da sessão não pode consistir apenas de dígitos, pelo menos uma letra deve estar presente. Caso contrário um novo ID de sessão é gerado toda vez.
Valor Retornado
Retorna o nome da sessão atual. Se name
for informado
e a função atualizar o nome da sessão, o nome da sessão antiga
será retornado, ou false
em caso de falha.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
name é anulável agora.
|
7.2.0 | session_name() verifica status de sessão; anteriormente, apenas verificava status de cookie. Portanto, a versão antiga de session_name() permitia chamar session_name() após session_start(), que poderia travar o PHP e resultar em comportamento inesperado. |
Exemplos
Example #1 Exemplo de session_name()
<?php
/* define o nome da sessão para WebsiteID */
$previous_name = session_name("WebsiteID");
echo "O nome da sessão anterior era $previous_name<br />";
?>