PHP-Session-Variablen werden nicht übergeben

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

PHP-Session-Variablen werden nicht übergeben

Postby Layna » 11. December 2006 09:43

Hallo, hoffe mal ich bin hier richtig, mein Problem liegt jedenfalls definitiv bei der Konfiguration des servers.
Mein XAMPP startet erfolgreich Sessions, übergibt soweit ich das überblicken kann auch die Session_id erfolgrteich.. nur die $_SESSION-Variablen werden nicht gespeichert, bzw vermutlich nicht gelesen.

Kann mir jemand einen tipp geben wo es liegen könnte?

Meine php-info für sessions:

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_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 /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 1 1

Hoffe jemand kann mir helfen :)
Layna
 
Posts: 6
Joined: 11. December 2006 09:35

Postby kleinweby » 11. December 2006 15:37

hallo,

gibs doch mal ein kurzes(!) beispiel script was bei dir nicht funktionier.

Normaler weise funktionieren nähmlich Sessions bei Xampp.

kleinweby
User avatar
kleinweby
AF Moderator
 
Posts: 393
Joined: 03. August 2005 19:52
Location: Magdeburg
Operating System: Mac OS X 10.7

Postby Layna » 11. December 2006 15:55

Auf einem anderen rechner (der hatte allerdings WinXP) lief der code ja auch!

Im speziellen fall geht es um:

Code: Select all
session_start();
include("../files/functions.php");
login($_POST["name"], $_POST["pwd"]);
header("location:../index.php"); 


und:
Code: Select all
function login($user, $pwd) {
         $sql="select * from user where name = '$user'";
         $res = sql_query($sql);
         if (mysql_num_rows($res) > 1) {
            echo "Fehler in der Datenbank!";
            exit;
         }
         else if (mysql_num_rows($res) < 1) echo "kein user";
         else {
              $row = mysql_fetch_assoc($res);
              if ($pwd == $row["pwd"]){
                 $_SESSION["ok"] = true;
                 $_SESSION["user_id"] = $row["user_id"];
                 $_SESSION["user_name"] = $row["name"];
                 if ($row["adm"] == 1) $_SESSION["adm"] = true;
                 if ($row["sadm"] == 1) $_SESSION["sadm"] = true;
              }
         }


Wie gesagt, auf einem anderen server lief es, also muss es irgendwo bei meiner server-konfig oder bei den rechtenliegen....
Layna
 
Posts: 6
Joined: 11. December 2006 09:35

Postby sari42 » 11. December 2006 22:53

zwischen login... und header muß ein
session_commit();
eingefügt werden, wenn ich mich recht erinnere.
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Wiedmann » 12. December 2006 07:08

session.save_path /tmp /tmp

Dieses Verzeichnis gibt es bei dir?

(AFAIK sollte da beim XAMPP was anderes stehen)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Kristian Marcroft » 13. December 2006 00:37

Hallo Wiedmann,

/tmp ist i.d.R. Bestandteil der jeder Linux Distribution :)
Jedoch sllten evtl. Schreibrechte auf dieses Verzeichnis überprüft werden.

Mit freundlichem Gruß
Kristian Marcroft

P.S: Wiedmann wann sieht an dich mal wieder im IRC? ;-)
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby Layna » 14. December 2006 16:46

Hatte endlcih mal wieder nerv mich an das problem zu setzen, es nur leider nciht gelöst.
Also folgende neue Erkenntnisse:
session_commit(); hilft nicht.
Es WIRD im /tmp eine Datei für die session erstellt... nur, die hat eine große von 0.
Kann dass dan trotzdem einr ehcteproblem sein? Dass der server eine datei erstellt, mein script bekommt dann aber keien schreibrechte? Wenn ja; wie ändere ich das?
Layna
 
Posts: 6
Joined: 11. December 2006 09:35

Postby sari42 » 14. December 2006 21:20

>if ($pwd == $row["pwd"])
wenn diese bedingung nicht erfüllt ist, wird auch nichts in die session datei reingeschrieben ;)

was passiert, wenn du
Code: Select all
<?php
session_start();
$_SESSION['TEST']='test';
?>
ausführst?
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby hoergen » 12. January 2007 08:39

In der php.ini ist eine recht unglückliche Startkonfiguration

ändere mal bei session.save_path in folgendes um:

Code: Select all
session.save_path = "0;600;/tmp



Dem hoergen
hoergen
 
Posts: 11
Joined: 12. January 2007 08:30

Postby sari42 » 13. January 2007 12:33

hoergen wrote:In der php.ini ist eine recht unglückliche Startkonfiguration

ändere mal bei session.save_path in folgendes um:

Code: Select all
session.save_path = "0;600;/tmp



Dem hoergen

wieso unglücklich? - das ist genau das default setting, wie im es top post zu sehen (und in php.ini nachzulesen) ist.

Auch funktioniert das ja bei Layna:
Es WIRD im /tmp eine Datei für die session erstellt... nur, die hat eine große von 0.
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby PMGZED » 05. March 2007 14:41

nurtzt du ne de.vu domain?
ich habe die erfahrung gemacht das die session bei de.vu nicht oder falsch übergeben werden
PMGZED
 
Posts: 16
Joined: 23. September 2006 10:50


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 5 guests