myprofil php fehler bei einloggen

valeripf

Erfahrenes Mitglied
ich hab ein problem

bei myprofil.php

un zwar ich logge mich bei login php ein und wenn ich dan zur myprofil gehe dann sagt er ich bin nicht eigeloggt logen sie sich wieder ein

es funktionier aber wenn ich
PHP:
include('seitenkopf.php');
nicht einbilde.

kann mir sagen wo fehler liegt

PHP:
<?php
	include ('seitenkopf.php');
    error_reporting(E_ALL);
    include("mysql.php");
    include("functions.php");

    session_start();
    include("autologout.php");
?>

    <article style="text-align:left;">
        <?php
            if(!isset($_SESSION['UserID'])) {
         echo "Sie sind nicht eingeloggt.<br>\n".
              "Bitte <a href=\"login.php\">loggen</a> Sie sich zuerst ein.\n";
    }
            else{
                // $_GET-Parameter als Integer casten
    $_GET['id'] = (int)$_GET['id'];
    $sql = "SELECT

Danke
 
Hast du vielleicht irgendwelche Ausgaben bevor [phpf]session_start[/phpf]?
Außerdem probier mal [phpf]display_errors[/phpf] auf 1 zu stellen.
 
Also das session_start() solltest du auf jeden Fall immer ganz oben stehen haben. Wie auch bei header(), darf davor keine Ausgabe erfolgen. In deinem include ('seitenkopf.php') hast du wahrscheinlich eine oder mehrere Ausgaben per echo. Daher funktioniert das mit deinen Sessions nicht mehr. Versuch mal das session_start() in die erste Zeile zu setzen, bevor du auch nur irgendwas anderes machst.
 
MarcoPauline

hast du so gemeind

in seitenkopf.php zeile ******************!! sesson_start();

geht trotztem nicht
 
PHP:
<?php
    session_start();
    include ('seitenkopf.php');
    error_reporting(E_ALL);
    include("mysql.php");
    include("functions.php");

    include("autologout.php");
?>

    <article style="text-align:left;">
        <?php
            if(!isset($_SESSION['UserID'])) {
         echo "Sie sind nicht eingeloggt.<br>\n".
              "Bitte <a href=\"login.php\">loggen</a> Sie sich zuerst ein.\n";
    }
            else{
                // $_GET-Parameter als Integer casten
    $_GET['id'] = (int)$_GET['id'];
    $sql = "SELECT

So sollte es funktionieren.
 
Hast du schon mal die $_SESSION ausgegeben?

PHP:
echo "<pre>";
print_r($_SESSION);
echo "</pre>";

Nachtrag:
Hab grade das include("autologout.php"); gesehen, kann es sein das dort die Session geleert wird?
 
Zuletzt bearbeitet:
nein hab ich nicht hast du falsch gesehen

das ist mein autologout.php


PHP:
<?php
    error_reporting(E_ALL);

    // Prüfen, ob ein Autologin des Users stattfinden muss
    if(isset($_COOKIE['Autologin']) AND !isset($_SESSION['UserID'])){
        $sql = "SELECT
                        ID
                FROM
                        User
                WHERE
                        Autologin = '".mysql_real_escape_string($_COOKIE['Autologin'])."'
               ";
        $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        $row = mysql_fetch_assoc($result);
        if(mysql_num_rows($result) == 1)
            doLogin($row['ID'], '1');
    }

    // Online Status der User aktualisieren
    if(isset($_SESSION['UserID'])){
        $sql = "UPDATE
                        User
                SET
                        Letzte_Aktion = '".time()."'
                WHERE
                        ID = '".$_SESSION['UserID']."'
               ";
        mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
    }

    // User ohne Autologin ausloggen
    $sql = "UPDATE
                    User
            SET
                    SessionID = NULL,
                    Autologin = NULL,
                    IP = NULL
            WHERE
                    '".(time()-60*20)."' > Letzte_Aktion AND
                    Autologin IS NULL
           ";
    mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());

    // Kontrollieren, ob ein automatisch ausgeloggter User noch eine gültige Session besitzt
    if(isset($_SESSION['UserID'])){
        $sql = "SELECT
                        SessionID
                FROM
                        User
                WHERE
                        ID = '".$_SESSION['UserID']."'
               ";
        $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        $row = mysql_fetch_assoc($result);
        if(!$row['SessionID']){
            $_SESSION = array();
            session_destroy();
        }
    }
    
?>

Aber es Funktioniert Ohne
Seitenkopf\fuss.php
ich denke das liegt wo anderes fehler
 
Es had sich ERLEDIGT

muss doch

PHP:
<?php 
    session_start(); 
    include ('seitenkopf.php'); 
    error_reporting(E_ALL); 
    include("mysql.php"); 
    include("functions.php"); 

    include("autologout.php"); 
?>

in seitenkopf.php

Trotzdem DANKE ;-)
 
Zurück