Sessionvariablen werden nicht übergeben.

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Theremin, 30.09.2004.

  1. Theremin

    Theremin Thread Starter MacUser Mitglied

    Beiträge:
    100
    Zustimmungen:
    1
    MacUser seit:
    16.12.2003
    Hallo,

    Ich schlage mich heute schon den ganzen Nachmittag mit dem folgenden Problem rum. Ich habe hier lokal, einmal auf meinem MAC (php 4.1.3) und auf der Dose (php5) ein kleines MiniCms programmiert. Das wollte ich nun beim Auftraggeber (LINUX Php5) installieren, aber leider werden die Userdaten, die ich über Sessions an die einzelnen Scripte übergebe nicht in der Session gespeichert. Auf meinen Lokalen Systemen geht das ohne Probleme ...

    PHP:
    ...
    session_start();
    $_SESSION['sessUserID'] = $_POST['sessUserID'];
    $_SESSION['sessLogin'] = $_POST['sessLogin'];
    $_SESSION['sessUserName'] = $_POST['sessUserName'];
    $_SESSION['sessLastLogin'] = $_POST['LastLogin'];
    $_SESSION['sessLoginTotal'] = $_POST['LoginTotal'];
    $_SESSION['sessLevel'] = $_POST['sessLevel'];
    // Weiterleitung zur Administrationsstartseite:
    header ("Location: ../start.php");
    ...
    Mit diesem Script müsste die Session doch eigentlich in der Sessionvariable regristiert sein, oder?

    Wenn ich nun die Variable auf einer neuen Seite auslesen will, Beispielsweise mir 'print_r($_SESSION)', ist das Array aber leer. Obwohl ich die Session mir 'Session_start();' aufgerufe habe.


    PHP:
    session_start();
    //require('../globalphp/checksession.php');
    require('../globalphp/function.php');

    error_reporting(E_ERROR E_WARNING E_STRICT E_NOTICE);

    if (isset(
    $_SESSION['sessLogin'])) {
    $site 1;
    ...
    Also, was mache ich falsch ???
    Ist auf dem Server irgendeine Variable in der Php.Ini falsch gesetzt???

    Einige wichtige Variablen sind so eingestellt:

    safe_mode = On
    magic_quotes_gpc = Off
    magic_quotes_runtime = Off
    magic_quotes_sybase = Off
    register_argc_argv = Off
    register_globals = Off

    Ich wäre super super dankbar für Eure Hilfe
     
  2. aguilera

    aguilera MacUser Mitglied

    Beiträge:
    48
    Zustimmungen:
    0
    MacUser seit:
    09.03.2004
    Was ist mit den Session Variablen in der php.ini (also session.*); ist dort vielleicht etwas im argen?
     
  3. matzetronic

    matzetronic MacUser Mitglied

    Beiträge:
    178
    Zustimmungen:
    0
    MacUser seit:
    25.10.2003
    testweise würde ich register_globals auch mal auf ON setzen
     
  4. Darkstar

    Darkstar MacUser Mitglied

    Beiträge:
    160
    Zustimmungen:
    0
    MacUser seit:
    17.07.2004
    laß die Register_Globals ruhig auf off. Daran liegt es nicht.
    Du muss die Session über die Header Funktion auch fortführen - sprich. Die Session-ID (SID) in der Header Anweisung mitübergeben. Das musst Du bei allen Verlinungen, die über die URI gehen, tun, sonst gehen Deine Session Variablen flöten. (Bei POST Anweisungen brauchst es nicht).

    Sähe Bei Dir dann so aus:

    PHP:
    header ('Location: ../start.php?'.SID.'');
    Dann sollten Sie in der start.php verfügbar sein...
     
  5. aguilera

    aguilera MacUser Mitglied

    Beiträge:
    48
    Zustimmungen:
    0
    MacUser seit:
    09.03.2004
    Zuletzt bearbeitet: 09.10.2004
  6. Theremin

    Theremin Thread Starter MacUser Mitglied

    Beiträge:
    100
    Zustimmungen:
    1
    MacUser seit:
    16.12.2003
    Danke für alle Antworten. Ich habe mich nun einmal etwas genauer über die Konstante SID belesen ... und ich glaube, daß diese aufgrund der Php.ini Einstellungen nicht mit übergeben wird. Transparente Übergabe der Sessionvariable heisst das (LINK) http://de.php.net/manual/de/ref.session.php#session.idpassing.
    Und der entsprechende Eintrag ist auch in der Php.ini auf 0 gesetzt:

    // SESSION:
    session.use_trans_sid = 0

    Das werde ich nun einmal auf meinem tollen Php5 Entwicklunghssystem testen... dann weiss ich ja ob es daran liegt.

    Bis später,

    das Theremin
     
  7. Theremin

    Theremin Thread Starter MacUser Mitglied

    Beiträge:
    100
    Zustimmungen:
    1
    MacUser seit:
    16.12.2003
    :rolleyes:
    Zurück auf Start... Daran liegt es nicht, aber auch die oben beschriebenen Lösungen bringen mich nicht weiter. Rufe ich Print_r($_SESSION) im ersten Script auf, werden alle Variablen gelistet, im 2. Script sind sie weg. Auf meinen Lokalen Systemen und bei Domainfactory ist alles fein, aber auf dem Server wo es laufen soll klappt es nicht.

    Bis Morgen

    Theremin ;)
     
  8. wegus

    wegus MacUser Mitglied

    Beiträge:
    15.041
    Zustimmungen:
    1.316
    MacUser seit:
    13.09.2004
    @Theremin:
    Welches PHP5 ? Es hat ein Update auf PHP 5.02 gegeben, weil eben GPC-Funktionen buggy waren und damit einige Variablen auf dem Transferweg über HTTP in /dev/null verschwanden. Siehe http://www.php.net . Ein ähnliches update gab es auch für PHP4.

    PHP5 gilt immer noch nicht als stabiles Produktivsystem (leider).
     
  9. Theremin

    Theremin Thread Starter MacUser Mitglied

    Beiträge:
    100
    Zustimmungen:
    1
    MacUser seit:
    16.12.2003
    Das Update wurde auf dem besagten Server noch nicht eingespielt.
    Es ist die Version PHP Version 5.0.0. Aber auch auf meinem Entwicklersystem läuft ein Php V. 5.0.0. Allerdings unter Windoof. Auf meinem Computer (G5) läuft eine stabile Php 4.1.3.
     
  10. Theremin

    Theremin Thread Starter MacUser Mitglied

    Beiträge:
    100
    Zustimmungen:
    1
    MacUser seit:
    16.12.2003
    Wenn ich nun die SID folgendermassen übertrage :

    header ("Location: ../start.php".SID);

    Wie eröffne ich dann die Session in Script2, so dass ich alle in der Session gespeicherten Variablen wieder nutzen kann ??

    PHP:
    session_start ( ??? );
    if (isset(
    $_SESSION['sessLogin'])) {
       ....
    Das Ding ist, ich kriege die Session_ID von dem einen in das andere Script über GET übermittelt. Aber was fange ich mir der Id wieter an ??? Und wieso geht das hier nicht so wie auf den anderen Systemen???

    Ratlos
     
Die Seite wird geladen...

Diese Seite empfehlen