Jogi: dummes problem mit $_SESSION

moin moin an alle!

erstmal, auf einmal funktionieren meine Scripte nicht mehr.
hab gestern neu formatiert und phptriad neu installiert.
meine php-version ist: 4.34
register_globals = off

login-bereich:
daten eingeben, funktion überprüft ob daten richtig sind und $_SESSION['name'], $_SESSION['pw'] werden "gestartet"

achja, in der login.php hab ich noch folgendes stehen,
das $_SESSION['name'] und pw = "guest" ist, wenn die nicht vorhanden ist. aber das spielt da ja keine rolle mehr, weil ab da ja $_SESSION['name'] und pw gestartet wurden.

hab bisher nichts an dem script geändert, aber es geht nix.

so jetzt zu dem teil wo das problem auftritt:
service.php :

<? ob_start();
session_start();
include("connect.php");
include("functionen.php");

if(check_login($_SESSION['name'], $_SESSION['pw']) == true)
{
$sql = "SELECT * FROM users WHERE id = '".$_SESSION['id']."'";
$select = mysql_query($sql) or die(mysql_error());
$user = mysql_fetch_array($select);
$datum = date("d.m.Y", $user['reg_seit']);
$time = date("H:m", $user['reg_seit']);
echo "
hier sollte alles kommen, wenn man eingeloggt ist";

echo "</b></font></p>";
}
else
{
    echo "<div align="center"><font color="red">Sie haben hier kein Zutritt.<br>Bitte loggen Sie sich ein.</font></div>";
}
?>

es kommt immer wieder der else teil zur geltung.

folgender Fehler tritt auf:
Notice: Undefined index: name in f:\apache\webmail_neu\service.php on line 88

Notice: Undefined index: pw in f:\apache\webmail_neu\service.php on line 88

Zeile 88 ist diese hier :
if(check_login($_SESSION['name'], $_SESSION['pw']) == true)

hoffe mir kann jemand helfen
bedanke mich schonmal.
hoffentlich war die beschreibung bruachbar

  1. Hallo,

    login-bereich:
    daten eingeben, funktion überprüft ob daten richtig sind und $_SESSION['name'], $_SESSION['pw'] werden "gestartet"

    Bist du _wirklich_ sicher, dass in deinem Login-Bereich die Session Variablen befüllt werden?
    Der Fehler

    Notice: Undefined index: name in f:\apache\webmail_neu\service.php on line 88

    sagt nämlich einfach nur, dass es im Array $_SESSION die Indices name und pw nicht gibt.  Probier doch einmal $_SESSION['name'] und $_SESSION['pw'] and Ende der login.php auszugeben. Sollten sie korrekt ausgegeben werden, versuche ob sie in service.php gleicht nach dem session_start() ausgegeben werden können.
    Also ich erkenne aus die Schnelle keinen Fehler, außer, dass du <?php statt <? schreiben solltest, da das einfach zukunfts-sicherer ist. Sonst, kannst du einmal die login.php posten?

    gruß,
    Severin

    --
    Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
    --Philip K. Dick
    1. Hallo,

      login-bereich:
      daten eingeben, funktion überprüft ob daten richtig sind und $_SESSION['name'], $_SESSION['pw'] werden "gestartet"

      Bist du _wirklich_ sicher, dass in deinem Login-Bereich die Session Variablen befüllt werden?

      also ich hab die mal ausgegeben, und die sind richtig die daten.
      aber die werden irgendwie nicht auf die service.php mitgenommen.
      wieso auch immer.

      login.php :
      <?php
      ob_start();
      session_start();
      if (!$_SESSION['name']) { $_SESSION['name'] = "guest";}
      if (!$_SESSION['pw']) { $_SESSION['pw'] = "guest"; }

      include("functionen.php");
       include("connect.php");
       if(isset($_POST['login']))
       {

      if($_POST['name'] != "" && $_POST['pass'] != "")
           {

      if(check_login($_POST['name'], $_POST['pass']) == true)
               {

      $_SESSION['name'] = $_POST['name'];
                   $_SESSION['pw'] = $_POST['pass'];
                   get_id($_SESSION['name']);
                   admin($_SESSION['id']);

      HEADER("LOCATION: service.php");

      }
               else
               {
                 echo "Login Daten falsch";
               }
           }
           else
           {
               echo "Felder nicht gefüllt";
           }
       }
       ?>

      naja, irgendwo ist da der wurm drin !
      hat aber noch vorgestern geklappt, und ich habe nur windows neu gemacht und apache mit php update.

      1. Hallo,

        login.php :
        [...]
        naja, irgendwo ist da der wurm drin !

        Ich kenne die header-Funktion nur klein geschrieben http://at.php.net/manual/en/function.header.php und "Location:" auch nur in dieser Schreibweise.
        Sollte der PHP-Parser diese Fehler schlucken, frage ich mich als nächstes, ob dein Browser Cookies akzeptiert, da PHP meiner Meinung nach an die header-Weiterleitung die Session ID nicht dranhängen kann. Sollte es in deinem Browser aktiviert sein, dann schaue nach, ob es auch in deiner php.ini eingeschaltet ist (Die Option heißt use_cookies http://at2.php.net/manual/en/ref.session.php).

        gruß,
        Severin

        --
        Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
        --Philip K. Dick
        1. hab in der php.ini nachgeschaut und session.use_cookies = 1

          hm, so ein mist

          1. danke an alle

            auf einmal klappte es jetzt, wieso auch immer.

            big thx @all

  2. Hello,

    if(check_login($_SESSION['name'], $_SESSION['pw']) == true)

    folgender Fehler tritt auf:
    Notice: Undefined index: name in f:\apache\webmail_neu\service.php on line 88

    Notice: Undefined index: pw in f:\apache\webmail_neu\service.php on line 88

    Zeile 88 ist diese hier :
    if(check_login($_SESSION['name'], $_SESSION['pw']) == true)

    Das fehlersystem sagt Dir, dass weder $_SESSION['name'] noch $_SESSION['pw'] existieren. Das sollte aber kein Problem sein. dann ist der User eben nicht vorhanden.

    Wie kommen denn Name und Passwort überhaupt rein in die Sessiondatei?

    Was stehe denn in Check_login($name,$pw) drin?

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Das fehlersystem sagt Dir, dass weder $_SESSION['name'] noch $_SESSION['pw'] existieren. Das sollte aber kein Problem sein. dann ist der User eben nicht vorhanden.

      das komische ist ja, das der user vorhanden ist und die daten stimmen.

      Wie kommen denn Name und Passwort überhaupt rein in die Sessiondatei?

      ich lese die daten aus ner DB und übergebe das eingegeben vom formular in $_SESSION['name'] und pw wenn die func true zurück gibt.
      hab auch grad die login.php gepostet.

      Was stehe denn in Check_login($name,$pw) drin?

      in der func check_login kann nicht falsch sein, weil es gestern noch ging, hab an den daten soweit nix verändert.
      nur irgendwie will meiner nicht diese dummen $_SESSION von login.php nach service.php übernehmen, weil die da glaub tot sind, wieso auch immer.

      1. Hello,

        nur irgendwie will meiner nicht diese dummen $_SESSION von login.php nach service.php übernehmen, weil die da glaub tot sind, wieso auch immer.

        Hast Du denn die Session auch in beiden Scripten gestartet? Und dann steimmen vielleicht die Pfade nicht, die man in der ini unter

        session.cookie_domain no value no value
        session.cookie_path      /        /

        eisntellen kann.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. Hast Du denn die Session auch in beiden Scripten gestartet? Und dann steimmen vielleicht die Pfade nicht, die man in der ini unter

          session.cookie_domain no value no value
          session.cookie_path      /        /

          eisntellen kann.

          wie wo was einstellen ?