La sesión de PHP es necesaria para que pueda almacenar la información del usuario y utilizarla en diferentes páginas del navegador.
Enfoque: Crea una sesión con el nombre o cualquier otra información útil que desee almacenar y acceder en diferentes páginas. Incluso después de cerrar su página, puede acceder a la información hasta que el navegador no se cierre. Esto es algo importante de entender si un navegador está cerrado, entonces la sesión se destruye automáticamente.
Podemos crear la sesión escribiendo session_start() y destruir la sesión usando session_destroy() . Puede acceder a la variable de sesión escribiendo $_session[“nombre”].
Entendamos cómo funciona la sesión a partir de los siguientes ejemplos.
Ejemplo 1: a continuación, puede crear la sesión ingresando el nombre. Puede verificar el funcionamiento de la sesión abriendo una nueva página en el mismo navegador y recuperando el nombre de la sesión. Te da el nombre y así es como funciona la sesión y nos ayuda a almacenar la información.
PHP
<?php //staring the session session_start(); ?> <html> <head> <meta charset="utf-8"> <meta name="viewport" content= "width=device-width, initial-scale=1"> <link rel="stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> <script src= "https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"> </script> <script src= "https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"> </script> </head> <body> <div class="container"> <h2 style="color:green">GeeksforGeeks</h2> <strong>Session Manager</strong></br> <form method="POST"> <br/>Enter Name: <input type="text" name="name"> <br /> <br/> <div> <input type="submit" name="Submit1" value="Create Session" style="width:120;"> </div><br/> <div> <input type="submit" name="Submit2" value="Retrieve Session" style="width:120;"> </div> <div><br/> <input type="submit" name="Submit3" value="Destroy Session" style="width:120;"> </div> </form> </div> <?php // Creating a session with name if(isset($_POST['Submit1'])) { $_SESSION["sname"]=$_POST["name"]; echo "Session is created !!"; } // Retrieve session by printing the session value if(isset($_POST['Submit2'])) { if(isset($_SESSION["sname"])) { echo "The Session Value = " . $_SESSION["sname"]; } else { // If retrieve button is pressed and // there is no session created // then this message will be printed echo "All Sessions Destroyed !!"; } } if(isset($_POST['Submit3'])) { session_destroy(); } ?> </body> </html>
Producción:
Ejemplo 2: Tomemos un ejemplo donde contamos cuántas veces visitamos la página. Tome dos archivos PHP llamados «one.php» y «two.php» y configure el enlace de ambos en la página usando botones. Ahora, cada vez que hacemos clic en un botón, hay un contador que incrementa automáticamente el recuento porque la sesión almacena el valor de los clics y cambia en consecuencia.
Puede observar que cada vez que hacemos clic en otro botón, la URL cambia y aumenta el recuento de páginas en particular, como se muestra a continuación.
one.php
<?php session_start(); if (!isset($_SESSION['pg1'])) { $_SESSION['pg1'] = 1; } else { $_SESSION['pg1'] += 1; } ?> <!DOCTYPE html> <body> <h2 style="color:green">GeeksforGeeks</h2> <strong>Session Manager</strong></br></br> <?php $i = 1; for ($i = 1; $i <= 2; $i++) { if (isset($_SESSION["pg$i"])) { echo "Page number $i count: " . $_SESSION["pg$i"] . '</br>'; } else { echo "Page number $i count: " . 0 . '</br>'; } } ?> <a href="one.php">Page number 1</a> </br> <a href="two.php">Page number 2</a> </br> </body> </html>
two.php
<?php session_start(); if (!isset($_SESSION['pg2'])) { $_SESSION['pg2'] = 1; } else { $_SESSION['pg2'] += 1; } ?> <!DOCTYPE html> <body> <?php $i = 1; for ($i = 1; $i <= 2; $i++) { if (isset($_SESSION["pg$i"])) { echo "Page number $i count: " . $_SESSION["pg$i"] . '</br>'; } else { echo "Page number $i count: " . 0 . '</br>'; } } ?> <a href="one.php">Page number 1</a> </br> <a href="two.php">Page number 2</a> </br> </body> </html>
Producción:
Publicación traducida automáticamente
Artículo escrito por rohanmittal1366 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA