probleme mit php session

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von sono, 04.05.2005.

  1. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    PHP:
    <?php

    session_name 
    ("modbase");
    session_start();

    $_SESSION['test'] = "Du Sack !";
    echo 
    $_SESSION['test'];
    ?>
    liefter folgende Ausgabe:

    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/entwicklung/index.php:30) in /var/www/entwicklung/index.php on line 44

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/entwicklung/index.php:30) in /var/www/entwicklung/index.php on line 44
    Du Sack !

    Was sagt mir diese fehlermeldung ?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. MadJoe

    MadJoe Eroberer

    Dabei seit:
    14.03.2005
    Beiträge:
    66
    Zustimmungen:
    0
    hallo!

    du hast irgendwo schon eine ausgabe vor der session_start() anweisung!

    denn damit muss er das cookie an den client senden, diese header-informationen (siehe funktion header() ) müssen aber als aller erstes ausgegeben werden.

    das kann schon passieren, wenn du irgendwo zwischen den <?php ?> bereichen ein leerzeichen hast!

    mfg joe
     
  4. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Ah , sehr interessant, dann sollte das recht einfach zu beheben sein.

    Thx .

    Gruß Sono
     
  5. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Das mit den vielen Headern kannst du einfach umgehen
    PHP:
    <?
    ob_start();
    session_start();
    if(
    session_is_registered($TEST) { ?>
    <html><head><title>hallo</title><head><body>
    <?=$_SESSION[TEST]?></body>
    <?
    }
    else {
    $TEST "du Sack";
    session_register($TEST);
    header("location:index.html")
    }

    ob_flush();
    ?>

    ob ist ein output_buffer.
    Die Befehle werden erst nach ob_flush() durchgeführt. Und dann kann er auch auf die Header achten... das klappt dann alles!
     
  6. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Bin wie immer erfreut mit ihnen Geschäfte zu machen :D
     
  7. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Dann ist ja gut..
    Also ich verwende immer den ob-Buffer - dann muss ich mir wirklich keine Sorge den Headern wegen machen!
     
  8. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Jo das hab ich mir auch direkt angewöhnt , macht definitiv sinn .
    Ich blocke nebenbei noch die fehlermeldungen mit @ das ist zwar wohl nicht die feine englische aber ich bin ja auch kein engländer .
     
  9. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Nun, während der Entwicklungsphase würd ich auf die @s verzichten. So kriegste bestimmt noch ein paar gute Informationen.
    Aber später im Betrieb ist es eh nicht mehr so wichtig wie es hinter der Fassade aussieht. Hauptsache es ist hübsch und funktioniert!
     
  10. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Ma ne Frage wegen Session Register.

    das geht doch nur bei register globals on, ich will auf register globals off proggen. Einfach aus sicherheits und vor allem aus performance günden .

    dann kann ich das doch einfach mit $_SESSION['variabelname'] machen und die müssten so auch immer gehen.

    oder ?
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Nein nein, ich arbeite auch mit globals off.
    Und session_register(VARIABLE) ist der normale Weg.

    Lies dazu mal das php Handbuch auf php.net
     
  13. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Hm auf die frage bin ich gekommen weil ich hauptsächlich mit dem buch arbeite .
    Da steht nämlich :

    Falls register_globals deaktiviert ist, können nur Bestandteile des globalen assoziativen Arrays $_SESSION als Session-Variablen registriert werden. Wiederhergestellte Session-Variablen stehen nur im Array $_SESSION zur Verfügung.

    Aus Gründen der Verbesserung der Sicherheit und der Lesbarkeit des Codes wird die Verwendung von $_SESSION (oder $HTTP_SESSION_VARS bei PHP 4.0.6 oder niedriger) empfohlen. Mit $_SESSION werden die Funktionen session_register(), session_unregister() und session_is_registered() nicht benötigt. Auf die Session-Variablen kann wie auf jede normale Variable zugegriffen werden.

    Beispiel 1. Registrierung einer Variablen mit $_SESSION.

    <?php
    session_start();
    // Verwenden Sie bei PHP 4.0.6 oder niedriger $HTTP_SESSION_VARS
    if (!isset($_SESSION['zaehler'])) {
    $_SESSION['zaehler'] = 0;
    } else {
    $_SESSION['zaehler']++;
    }
    ?>

    Beispiel 2. Aufheben der Registrierung einer Variablen mit $_SESSION und deaktiviertem register_globals.

    <?php
    session_start();
    // Verwenden Sie bei PHP 4.0.6 oder niedriger $HTTP_SESSION_VARS
    unset($_SESSION['zaehler']);
    ?>

    Beispiel 3. Aufheben der Registrierung einer Variablen mit aktiviertem register_globals, nachdem sie unter Verwendung von $_SESSION registriert wurde.

    <?php
    session_start();
    // Ab PHP 4.3, können Sie auch einfach das vorige Beispiel benutzen.
    session_unregister('count');
    ?>

    Wenn register_globals aktiviert ist, kann jede globalen Variable als Session-Variable registriert werden. Beim Neustart einer Session werden diese Variablen als entsprechende globale Variablen wiederhergestellt. Da PHP wissen muss, welche globalen Variablen als Session-Variablen registriert sind, muss der Benutzer Variablen mit der Funktion session_register() registrieren. Sie können das vermeiden, indem Sie einfach Einträge in $_SESSION setzen.
     
Thema:

probleme mit php session

Die Seite wird geladen...

probleme mit php session - Ähnliche Themen

  1. Probleme mit PHP-Sessions

    Probleme mit PHP-Sessions: hallo leute, habe ein kleines problem mit den php-seesions. grundsätzlich funktionieren die sessions nur wie kann ich eine session...
  2. grub-pc Probleme bei upgrade

    grub-pc Probleme bei upgrade: Hallo, ich habe beim dist-upgrade folgendes Problem: ---------- Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt. Trigger für...
  3. Probleme mit YUM

    Probleme mit YUM: Hallo, ich habe CentOs 7 als Dualboot mit Windows 7 auf einen Dell Latitude E5510 installiert. Dies hat soweit auch alles geklappt. Leider habe...
  4. Forscher analysieren Durchsatzprobleme im Linux-Scheduler

    Forscher analysieren Durchsatzprobleme im Linux-Scheduler: Eine Gruppe von Forschern hat Fälle identifiziert, in denen der Scheduler im Linux-Kernel falsche Entscheidungen trifft und die CPUs nicht so gut...
  5. München: LiMux als Sündenbock für IT-Probleme?

    München: LiMux als Sündenbock für IT-Probleme?: Im Münchner Stadtrat soll später in diesem Jahr erneut über den Einsatz von Linux in der Stadtverwaltung diskutiert werden. Die Grünen vermuten,...