Session verliert seine Werte

  • Hallo zusammen!

    Ich bastel zZt eine kleine Seite und arbeite das erste mal mit Sessions. Lokal läuft die Seite porblemlos. Eben bin ich dann mal auf die Idee gekommen die Seite online zu stellen und dort ein mal zu testen.

    Online besteht folgendes Problem. Nach dem Login werden Werte vom Benutzer in Session-Variablen geschrieben.

    Bsp: $_SESSION['login_user_name'] = $_REQUEST['login_user_name'];

    Gebe ich diese Werte auf der selben Seite aus funktioniert dies auch.

    Bsp. echo "login_user_name->".$_SESSION['login_user_name']."
    ";

    Klicke ich dann jedoch auf einen anderen Link verliert er die Werte (Lokal tritt der Fehler nicht auf).

    Hat vll jmd mal das selbe Problem gehabt und spontan eine Idee woran das liegen könnte?

    Danke schon mal im vorraus!

  • Überall session_start eingebaut? error_reporting hochgedreht?

    Ohne Quellcode kann dir niemand helfen.

  • Ich kann ja mal den Code posten, wo die Session aufgebaut wird.

    Ersten 10 Zeilen der header.php

    PHP
    <?php 
    require_once("inc/header_inc.php");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="styles/view.css" media="all" />
    <link rel="stylesheet" type="text/css" href="styles/lightbox.css" media="screen" />
    <title>Unbenanntes Dokument</title>

    Die inc/header_inc.php

    PHP
    <?php
    require_once("inc/config.php");
    require_once("inc/security.php");
    require_once("inc/functions.php");
    ?>

    Die inc/config.php

    Die inc/security.php

  • Vielleicht schreit PHP nach Hilfe, nur du hörst nicht zu:

    error_reporting(E_ALL);
    ini_set("display_errors", true);

    vor

    require_once("inc/header_inc.php");

    einbauen.

  • Ja, ich hatte auch schon versucht mir Fehlermeldungen auszugeben. Dies hier wird ausgespuckt:

    Zitat


    Notice: A session had already been started - ignoring session_start() in /var/www/users/d/d00055/websites/http://test.freshn.de/inc/security.php on line 3

    Notice: Undefined index: login_user in /var/www/users/d/d00055/websites/http://test.freshn.de/inc/security.php on line 16

    Notice: Undefined index: logout in /var/www/users/d/d00055/websites/http://test.freshn.de/inc/security.php on line 23

    Notice: Undefined index: login_user_name in /var/www/users/d/d00055/websites/http://test.freshn.de/inc/security.php on line 30

    Notice: Undefined index: login_user_password in /var/www/users/d/d00055/websites/http://test.freshn.de/inc/security.php on line 31

    Er sagt halt, dass es schon eine Session gibt. Aber die session_start - Funktion muss doch immer, auf jeder Seite, ganz oben stehen, oder?

  • Dann wird vermutlich security.php 2x eingebunden oder du hast noch irgendwo ein session_start.

    Und den Rest bekommst du weg, wenn du anfängst, ordendlich zu programmieren und nicht

    Code
    if ($_REQUEST["login_user"])


    sondern

    Code
    if (isset($_REQUEST["login_user"]))


    schreibst.

  • Ich glaub ich habe den Fehler gefunden. Ich verstehe nur nicht wieso er nie lokal aufgetreten ist.

    Ich nehme das Passwort in md5 und haue dort noch mal ein md5 drüber. Daher findet er den Nutzer nicht.

    Ich werd es noch mal durchtesten.

  • Zitat von bandit600

    Dann wird vermutlich security.php 2x eingebunden oder du hast noch irgendwo ein session_start.

    Und den Rest bekommst du weg, wenn du anfängst, ordendlich zu programmieren und nicht

    Code
    if ($_REQUEST["login_user"])


    sondern

    Code
    if (isset($_REQUEST["login_user"]))


    schreibst.

    Ja, ich werde versuchen etwas sauberer zu schreiben :?

    Danke für die Hilfe!