PHP - función session_name ()
Definición y uso
Las sesiones o el manejo de sesiones es una forma de hacer que los datos estén disponibles en varias páginas de una aplicación web. lossession_name() La función se utiliza para nombrar la sesión actual o recuperar el nombre de la sesión.
Sintaxis
session_name([$name]);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | name(Optional) Este es un valor de cadena que representa el nombre de la sesión, si desea establecer el nombre de la sesión utilizando este método. |
Valores devueltos
Si no ha pasado ningún parámetro, esta función devuelve un valor de cadena que representa el nombre de la sesión actual. Si ha pasado un valor de cadena para establecer el nombre de la sesión actual, el uso de esta función devuelve el nombre de la sesión anterior.
Versión PHP
Esta función se introdujo por primera vez en PHP versión 4 y funciona en todas las versiones posteriores.
Ejemplo 1
El siguiente ejemplo demuestra el uso de session_name() función.
<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>
Al ejecutar el archivo html anterior, se mostrará el siguiente mensaje:
Session Name: PHPSESSID
Ejemplo 2
A continuación se muestra otro ejemplo de esta función, aquí tenemos dos páginas de la misma aplicación en la misma sesión:
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>
Esto producirá el siguiente resultado:
Una vez que presione enviar, la página será como:
Al hacer clic en Next se ejecuta el siguiente archivo.
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>
Esto producirá el siguiente resultado:
Krishna
30
Previous Session Name: PHPSESSID
Ejemplo 3
Puede establecer un nombre de sesión personalizado utilizando esta función como se muestra a continuación:
<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>
Al ejecutar el archivo html anterior, se mostrará el siguiente mensaje.
Id: test-es6j8171lluesjrokpvqqb4b4d