PHP - função session_name ()
Definição e Uso
Sessões ou tratamento de sessão é uma maneira de disponibilizar os dados em várias páginas de um aplicativo da web. osession_name() A função é usada para nomear a sessão atual ou, recuperar o nome da sessão.
Sintaxe
session_name([$name]);
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | name(Optional) Este é um valor de string que representa o nome da sessão, se você quiser definir o nome da sessão usando este método. |
Valores Retornados
Se você não tiver passado nenhum parâmetro, esta função retorna um valor de string representando o nome da sessão atual. Se você tiver passado um valor de string para definir o nome da sessão atual, esta função retorna o nome da sessão antiga.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP Versão 4 e funciona em todas as versões posteriores.
Exemplo 1
O exemplo a seguir demonstra o uso do session_name() função.
<html>
<head>
<title>Setting up a PHP session</title>
</head>
<body>
<?php
//Starting the session
session_start();
$name = session_name();
print("Session Name: ".$name);
?>
</body>
</html>
Ao executar o arquivo html acima, será exibida a seguinte mensagem -
Session Name: PHPSESSID
Exemplo 2
A seguir está outro exemplo dessa função, aqui temos duas páginas do mesmo aplicativo na mesma sessão -
session_page1.htm
html>
<body>
<form action="#" method="post">
<label for="fname">Enter the values click Submit and click on Next</label>
<br><br><label for="fname">Name:</label>
<input type="text" id="name" name="name"><br><br>
<label for="lname">Age:</label>
<input type="text" id="age" name="age"><br><br>
<input type="submit" name="SubmitButton"/>
<?php
if(isset($_POST['SubmitButton'])){
//Setting the session name
session_name("my_session");
//Starting the session
session_start();
$_SESSION['name'] = $_POST['name'];
$_SESSION['age'] = $_POST['age'];
print("<br><br>Session name: ".session_name());
}
echo '<br><br><a href="session_page2.htm">Next</a>';
?>
</form>
</body>
</html>
Isso produzirá a seguinte saída -
Depois de pressionar enviar, a página ficará como -
Ao clicar em Next o seguinte arquivo é executado.
session_page2.htm
<html>
<head>
<title>Second Page</title>
</head>
<body>
<?php
//Changing the session name again
$s_name = session_name();
//Starting a Session
session_start();
print($_SESSION['name']);
echo "<br><br>";
print($_SESSION['age']);
echo "<br><br>";
print("Previous Session Name: ".$s_name);
?>
</body>
</html>
Isso produzirá a seguinte saída -
Krishna
30
Previous Session Name: PHPSESSID
Exemplo 3
Você pode definir o nome da sessão personalizada usando esta função conforme mostrado abaixo -
<html>
<head>
<title>Setting up a PHP session</title>
</head>
<body>
<?php
//Starting the session
session_start();
$id = session_create_id("test-");
print("Id: ".$id);
?>
</body>
</html>
Ao executar o arquivo html acima, será exibida a seguinte mensagem.
Id: test-es6j8171lluesjrokpvqqb4b4d