logokr8 PHP Workshop

back next PHP-Workshop: Sessionvariable

Speichern von berechneten Werte über mehrere Formular-Aufrufe hinweg

 

<?php
session_register('summe');      /* registrieren Session-Variable */
?>

<html>

<head>

<title>PHP Programmierung</title>

</head>

<body>

<h3>PHP Berechnung der kinetischen Energie</h3>

<form action="<?=$PHP_SELF?>" method="POST">
Masse in kg:                <input name="m" type="text" value="<?=$m?>"><br>
Geschwindigkeit in m/s: <input name="v" type="text" value="<?=$v?>"><br>
<input name="submit" type="submit" value="Rechnen">
</form>

<?php
if ($submit) {
    $e = ($m/2) * $v * $v;      /* Energie in Joule */
    echo "<p>Masse $m kg, Geschwindigkeit $v m/s, Energie: $e J</p>";
    $summe = $summe + $e;  /* addieren in Session-Variable */
    echo "<p>Energiesumme bis jetzt: $summe J</p>";
} else {
    $summe = 0;                   /* initialisieren Session-Variable */
    
echo "<p>Bitte füllen Sie das Formular aus.</p>";
}
?>

</body>

</html>

Demo: Diese PHP-Seite aufrufen.

 

Was lernen wir:

  1. Um Daten über mehrere Formular-Aufrufe hinweg zu speichern, verwendet man sog. Session-Variable. Solche Session-Variablen bleiben für die Dauer der "Session" erhalten.
  2. Session-Variable müssen ganz am Anfang registriert werden, vor der Ausgabe von HTML überhaupt. Grund ??? Schreiben eines Cookie ???
  3. Eine Session endet, wenn der Web-Browser verlassen wird, oder durch "Time Out".
  4. Damit die Session-Verwaltung mit PHP funktioniert, muss in der PHP-Konfigurationsdatei php.ini der Eintrag "session.save_path = /temp"auf einen tatsächlich exisitierenden Ordner zeigen.

 

 

 

Dietrich Kracht. Copyright © 2002. All rights reserved. Page last modified: 2002-11-10