it-swarm.com.de

Wie werden alle aktuell eingestellten Sitzungsvariablen gedruckt?

Gibt es eine Möglichkeit, den Inhalt aller aktuell eingestellten Sitzungsvariablen anzuzeigen, ohne jede Sitzungsvariable nach Namen aufrufen zu müssen?

53
Georgy
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';

Oder Sie können print_r verwenden, wenn Sie sich nicht für Typen interessieren. Wenn Sie print_r verwenden, können Sie das zweite Argument TRUE so festlegen, dass es anstelle des Echos zurückgegeben wird. Dies ist nützlich für ...

echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>';
117
alex
<?php
    session_start();
    echo "<h3> PHP List All Session Variables</h3>";
    foreach ($_SESSION as $key=>$val)
    echo $key." ".$val."<br/>";
?>
8
Linda Cox

Kein einfacher Weg, nein.

Nehmen wir an, mit "aktiv" meinen Sie "hat die maximale Lebensdauer nicht überschritten" und wurde nicht explizit zerstört, und Sie verwenden den Standard-Session-Handler.

  • Erstens ist die maximale Lebensdauer als php.ini config definiert und wird in Bezug auf die letzte Aktivität in der Sitzung definiert. Der "Ablauf" -Mechanismus müsste also den Inhalt der Sitzungen lesen, um den von der Anwendung definierten Ablauf zu bestimmen.
  • Zweitens müssten Sie das Sitzungsverzeichnis manuell lesen und die Dateien lesen, deren Format ich nicht einmal kenne.

Wenn Sie dies wirklich benötigen, müssen Sie eine Art benutzerdefinierten Session-Handler implementieren. Siehe session_set_save_handler .

Berücksichtigen Sie auch, dass Sie keine Rückmeldung erhalten, wenn der Benutzer den Browser schließt oder sich von Ihrer Website entfernt, ohne sich explizit abzumelden. Abhängig von der Inaktivität, die Sie für die Schwelle halten, um eine Sitzung als "inaktiv" zu betrachten, kann die Anzahl der falsch positiven Ergebnisse sehr hoch sein.

4
Artefacto

Sie könnten den folgenden Code verwenden.

print_r($_SESSION);
0
Young

das hat bei mir geklappt: -

<?php echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; ?>

danke, dass du den Code geteilt hast ...

Array
(    
    [__ci_last_regenerate] => 1490879962

    [user_id] => 3

    [designation_name] => Admin
    [region_name] => admin
    [territory_name] => admin
    [designation_id] => 2
    [region_id] => 1
    [territory_id] => 1
    [employee_user_id] => mosin11
)
0
Mosin
session_start();
echo '<pre>';var_dump($_SESSION);echo '</pre>';
// or
echo '<pre>';print_r($_SESSION);echo '</pre>';

HINWEIS: session_start (); Zeile ist Muss Nur dann können Sie den Wert $ _SESSION drucken

0
Atul Baldaniya