Session Probleme und weis nicht mehr weiter

Alexander123

Grünschnabel
Hallo liebe Forum Gemeinde, dies ist mein erster Beitrag und hoffe das ich soweit alle regeln befolgt habe. ich danke vorab erstmal jedem der mir bei der Lösungssuche hilft.

Folgendes Problem.
Ich habe mir von apachefrinds die neuest Version von Xampp gezogen und habe sie bei mir auf dem Rechner Installiert. Nun wollte ich eigentlich mit Sessions arbeiten was in anderen Programmen von mir auch funktioniert aber irgendwie will es in dieser Version nicht klappen. Folgender Versuch.

Innerhalb einer indextest.php wird folgender Code bearbeitet.
<?php
SESSION_NAME(s);
SESSION_START();
echo "Session S = $s;<br>";
?>
Was sollte eigentlich passieren. Ich weise der Session einen Namen zu. in diesem Fall "s". Danach wird diese Session gestartet per SESSION start. Danach soll die Session ausgegeben werden. Dies ist der einzige inhalt der indextest.php.

Also es werden keine ausgaben oder so vor der Session verarbeitung irgendwo hingeschickt.

Dieser Code läuft in einer anderen Xampp version auf dem gleichen Rechner. nur in dieser nicht. der Vergleich der infophp hat auch keine unterschiede geliefet.

Hat vielleicht einer von euch eine Idea voran das liegen kann? Bekomme auch keine Fehlermeldung.

Sollte dieses Thema nicht in diese Forum passen oder Falsch angesiedelt sein tut mir das leid. Hoffe Ihr könnt helfen.

PHP version -> 5.2.8
Auszug aus der phpinfo für den Bereich Session

Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path C:\Testumgebung\xampp\tmp C:\Testumgebung\xampp\tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0

vielen dank bei allen die versuchen zu helfen.
 
ich dachte das mache ich.

<?php
SESSION_NAME(s); ---> Zuweisung des namens
SESSION_START(); ----> Start der Session
echo "Session S = $s;<br>"; ---> Ausgabe der Session
?>

Das schlimme ist das genau dieser Code in anderen Xampp versionen funktioniert.

in der Xampp Version 1.4.2 bekomme ich bei gleichem Quelltext diese Ausgabe.
Session S = 9afde29f46b022faa7849e3eddcc3cfc;

also was mache ich falsch.

Diese Version kann ich aber nicht verwenden da dort keine Views erlaubt sind.
 
Damit weist du der Session den Wert "Test "zu oder nicht? .
ich möchte aber nur der Session einen Namen geben "S" und dann eine dieser langen nummern bekommen.

in deinem Fall bekomme ich als ausgabe
Session S= Test

aber ich würde ja super gerne dort stehen haben
Session S = 9afde29f46b022faa7849e3eddcc3cfc;

Verstehst du was ich meine ? Du kannst ja nach Manuell per Session_name der Session einen namen geben aber der Session wert wird ja erst durch das Start danach gesetzt.

Und wie gesagt das Ganz ding t ja auch an andere Stelle. Ich wollte mir eigentlich eine weitere test umgebung aufbauen um nicht permanent in der Produktion rum zu entwickeln.

Ich stehe da deswegen ein wenig auf dem Schlauch vielleicht. da es ja in der 1.xx version einwandfrei funtz aber in der 5er nicht mehr. und im manuell steht nix drin das sich da was geändert hätte.

aber dir danke erstmal.
 
ok ja,
das scheint zu en. dann weise ich eben $s = session_id() nochmal zu.
Da ich ja später nur noch mit $s die Session übergeben.

Euch allen erstmal vielen vielen Dank. Aber warum dann diese folgende Konstrukt funtz ist mir dann ein rätzel. weil dort kann ich gleich mit der Variablen $s weiter machen.

anders Programm andere Xamppversion aber geht einwandfrei


if(empty($s) or (!isset($s)))
{
session_name(s);
session_start();
echo " if Sie session Variable S $s;<br>";
$_SESSION['stempvar'] = "0";
$_SESSION['stempvarkey'] = "0";
// globale userid
$_SESSION['userid_sr'];
// globale fehlermeldung_text
$_SESSION['fehlermeldung_sr'] ;
// globale Fehlernummer
$_SESSION['returncode_sr'] ;
// globales recht des Users
$_SESSION['rechte_sr'] ;
//------------------------------------------------------------------
// Zuweisung von Grundwerten
//------------------------------------------------------------------
$_SESSION['userid_sr'] = "0";
$_SESSION['rechte_sr'] = "0";
$returncode_sr = 0;
// $stempvar = "0";
}
else
{
session_name(s);
session_start();
echo " else Sie session Variable S $s;<br>";
}


Ich wunder mich eben weil in diesem Programm die Zuordnung $s = Session_id ; nicht gebraucht wird.

Aber wie schon gesagt euch allen vielen Dank. habt mich trotzdem ein riesiges stück weiter gebracht. super!
 
Mal eine Frage nebenher - Was ist das?
PHP:
session_name(s);

Ist das s ein String, eine Variable oder eine Konstante? Nimmt dein Parser das so?
 
Session_name(s) ; klappt so bei mir allerdings xampp version 1.4.x

ich kann damit später mit $s einfach die Session_id übergeben. klappt einwandfrei. deswegen hat es mich ja so gewundert das dies aufeinmal nicht mehr geht.

Wenn ich das Manuell richtig verstanden habe weist du damit nur einen Namen zu und kannst dann die Session_id unter diesem Namen Verwenden.

Wie gesagt mit $s kannst du dann locker auf jeder weitere Seite springen und hast immer die Session.

Session_name(string) so steht es glaube ich im Manuell. deswegen gehe ich mal davon aus das er alles in der Klammer als String interpretiert. auch wenn du die '' nicht gesetzt hast.
 
Zuletzt bearbeitet:
Zurück