Wie ist das Konzept einer Session ?
Kalle
- php
Hi,
habe versucht, mich hier im Forum zum Thema Session einzulesen, aber die Deteilprobleme überwiegen so stark, dass ich das Konzept nicht erkenne. Insbesondere ist mir nicht klar, wie die Sessions von mehreren gleichzeitig aktiven Usern unterschieden werden.
Für einen Veranstaltungskalender möchte ich die vom User ausgewählten Daten wie Ort, Datum von, Datum bis usw. zur Verfügung haben. Habe das bisher mit URL-Parametern gemacht, ist aber unübersichtlich und daher fehleranfällig. Der User kann zwischen Anzeige und Eingabe wechseln.
Der User kann auf verschiedenen Seiten hereinkommen, ich muss also auf jeder Seite fragen: "Ist schon eine Session offen?" Wenn nein, vergebe ich eine.
Wie heißt die Abfrage ?
Wie vergebe ich eine Session - mit session_start() ?
Kann ich dann mit $_SESSION['ort_nr'] = 327; das Feld ort_nr einrichten und mit einem Wert versehen ?
Habe ich nach Seitenwechsel mit $ort_nr = $_SESSION['ort_nr']; meinen Ort wieder ?
Liebe Grüße aus Worms, Kalle
Hallo,
session geht so:
Der User bekommt eine Einzigartige Session ID zugeordnet. In dem Session können dann Werte gespeichert werden und später wieder abgefragt werden.
Hier ein beispiel
<?php
session_start();
?>
Session reg:
session_register('zaehler');
$zaehler = "text";
Session abfragen:
if(session_is_registered('zaehler'))
{
echo "Hallo $zaehler";
}
MFG
Andavos
Danke.
Habe das mal ausprobiert, aber bei session_start() kommt eine Fehlermeldung:
Fatal error: Call to unsupported or undefined function session_start() in /www/aktivferien.de/home/home_05.php on line 8
Habe meinen Provider angerufen, ob er keine Sessions unterstützt. Programmierer haben aber schon Feierabend, der Telefonist war freundlich, aber unwissend.
MfG Kalle
Hello,
dann stell mal dieses Script in ein "geheimes" Verzeichnis auf dem Server und rufe es auf
<?
phpinfo();
if (function_exists("gd_info"))
{
echo "<pre>";
print_r(gd_info());
echo "</pre>";
}
else
{
echo "Funktion 'gd_info()' existiert nicht<br>";
}
echo "<pre>";
$f=get_defined_functions();
asort($f["internal"]);
asort($f["user"]);
print_r($f);
echo "</pre>";
?>
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
bevor due irgendwas ausgibst, musst du den Session starten, also den Befehln in die 1. Zeile:
<?php
session_start();
?>
HTML
BODY
ETC.
<?php
//code
?>
MFG
Andavos
Nöö, das war's nicht, dann ist der Fehler eben in Zeile 2
Aber danke.
joop, steht in http://www.aktivferien.de/phpinfo.php
Fehler:
Fatal error: Call to unsupported or undefined function get_defined_functions() in /www/aktivferien.de/phpinfo.php on line 16
Also ein Berechtigungs-Problem ?
unter http://www.osmer.de/phpinfo.php
gibt`s keinen Fehler, ist derselbe Provider.
Darf ich nochmal um Beurteilung bitten ?
Hello,
PHP Version 3.0.18
Das ist wirklich nicht mehr nett.
Ich weiß leider nicht, ob register_shutdown_function() in PHP Version 3.0.18 schon existiert hat.
<cite>
register_shutdown_function
(PHP 3>= 3.0.4, PHP 4 )
</cite>
Und dann brauchst Du noch serialize()
<cite>
serialize
(PHP 3>= 3.0.5, PHP 4 )
</cite)
und unserialize()
<cite>
unserialize
(PHP 3>= 3.0.5, PHP 4 )
</cite>
Dann kannst Du dir die Sessions selber bauen.
Aber einfacher wäre es wahrscheinlich, das PHP auf eine neue stable-Version zu upgraden.
Lass Dir das mal durch den Kopf gehen. Deine Version ist wenigstens 3 Jahre alt.
Man müsste mal eine Liste der Funktionen mit Verfügbarkeit und Bemerkungen dazu aufbauen. Das geht auch irgendwie nicht so ganz klar aus http://www.php.net hervor.
Liebe Grüße aus http://www.braunschweig.de
Tom