session_abort în PHP

Închide sesiunea fără să salveze modificările făcute în $_SESSION în cererea curentă.

Sintaxă
session_abort(): bool

Ce face session_abort

session_abort eliberează sesiunea la fel ca session_write_close, dar aruncă modificările. Datele salvate rămân cele de la începutul cererii. Este util când o operație eșuează la jumătate și nu vrei să rămână în sesiune o stare incompletă.

Ce returnează

true la succes, false la eroare.

Exemple

Exemplul 1: Renunțarea la o modificare

<?php
session_start();
$_SESSION["cos"] = ["laptop"];
session_write_close();

session_start();
$_SESSION["cos"][] = "mouse"; // plata a eșuat
session_abort();

session_start();
print_r($_SESSION["cos"]);

Rezultat în browser

Array
(
    [0] => laptop
)

Greșeli frecvente

  • Te aștepți ca $_SESSION să fie readus la vechile valori imediat. Variabila rămâne modificată până la următorul session_start(); pentru readucere imediată folosește session_reset.

Comenzi înrudite

  • session_reset: Reîncarcă în $_SESSION datele salvate ale sesiunii și renunță la modificările nesalvate. Sesiunea rămâne deschisă.
  • session_write_close / session_commit: Salvează datele sesiunii și o închide, ca alte cereri ale aceluiași vizitator să nu mai aștepte după ea.
  • session_start: Pornește sau reia sesiunea vizitatorului, ca să poți păstra date între pagini în $_SESSION.