Nico: IE und Sessions

Hallo!

Wenn man sich auf der Seite <nonamefound.no.funpic.de/monika/index.php> anmeldet, wird die Seite login.php aufgerufen. In der wird dann die Kundennr, die per POST übermittelt wird in eine Session eingetragen:

<?php
session_start();
$_SESSION['kundennr']=$_POST[kundennr];

Dann wird anhand der Kundennr, die in der Session ist, der Name herausgefunden und hinter "Hallo, " geschrieben. Im FireFox klappt das. Blos im IE schreibt der nix dahinter. Ich glaube, das liegt daran, weil er entweder eine neue Session macht, oder überhaupt keine.
Wenn sich das jemand mal ansehen will, muss er sich aber vorher mal anmelden (Kunde werden). Das liegt daran, weil beim letzten mal ganz schlaue Leute die Mitgliedschaft beendet haben und somit alle anderen keinen Zugriff mehr hatten.
Ich hoffe, es weiß jemand, woran das liegt.

Nico

  1. Hi,

    Wenn man sich auf der Seite <nonamefound.no.funpic.de/monika/index.php>

    Beachte bitte fag-19

    $_SESSION['kundennr']=$_POST[kundennr];

    ^ da   ^ und da fehlt etwas.

    MfG Hopsel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    1. Hallo!

      Der Link war mir wohl nicht ganz so geglückt. Tut mir leid.

      $_SESSION['kundennr']=$_POST[kundennr];

      ^ da   ^ und da fehlt etwas.
      Ja stimmt. Aber wenn ich da noch die ' hinsetze, wird's auch nicht besser. Der FF kann's ja auch.

      Nico

      1. Hi,

        Der FF kann's ja auch.

        nichts, was mit PHP zu tun hat, wird von irgend einem Browser gemacht. Du reagierst offenbar auf unterschiedliche Requests falsch.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Hallo!

          In der login.php steht folgendes:

          session_start();
          $_SESSION['kundennr']=$_POST['kundennr'];

          Da wird ein Frameset erstellt. Und in dem Fenster, das danm "Hallo, $name" anzeigen soll, steht das:

          session_start();
          $user=$_SESSION['kundennr'];
          $verbindung=mysql_connect("localhost","Benutzer","PW");
          mysql_select_db("nonamefound");
          $name="SELECT Vorname, Nachname FROM kunden WHERE kundennr="$user"";
          $nameerg=mysql_query($name);
          $name=mysql_fetch_row($nameerg);
          $name=$name[0]." ".$name[1];
          echo "<center><h2>Hallo, $name!</h2></center>";

          Du reagierst offenbar auf unterschiedliche Requests falsch.

          Da würde der FF doch auch das Problem haben, oder?

          Nico

          1. Hi,

            In der login.php steht folgendes:

            auf welchen Request reagiert dieses Script?

            Da wird ein Frameset erstellt.

            Dieser Mangel ist behebbar.

            Du reagierst offenbar auf unterschiedliche Requests falsch.
            Da würde der FF doch auch das Problem haben, oder?

            Das "unterschiedlich" sollte darauf hinweisen, dass der Request des Firefox sich augenscheinlich von dem des IE unterscheidet.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hallo!

              In der login.php steht folgendes:
              auf welchen Request reagiert dieses Script?

              Auf die Eingaben in dem Formular auf der Startseite.

              Da wird ein Frameset erstellt.
              Dieser Mangel ist behebbar.

              Ist denn ein Frameset so schlimm?

              Nico

              1. Hi,

                In der login.php steht folgendes:
                auf welchen Request reagiert dieses Script?
                Auf die Eingaben in dem Formular auf der Startseite.

                und wie sieht der Request dann aus?

                Da wird ein Frameset erstellt.
                Dieser Mangel ist behebbar.
                Ist denn ein Frameset so schlimm?

                Ähm, Du bist noch nicht lange im Geschäft, oder? Ein Frameset ist so ziemlich das Schlimmste, was man einer Website antun kann.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Hallo!

                  und wie sieht der Request dann aus?

                  Ähm... request? meinst du jetzt das $user=$_POST['kundennr']; ? Oder was?
                  Und das frameset beseitige ich dann sobald ich/wir das Problem hier gelöst habe(n).

                  Nico

                  1. Hi,

                    und wie sieht der Request dann aus?
                    Ähm... request? meinst du jetzt das $user=$_POST['kundennr']; ? Oder was?

                    ich meine damit die Daten, die der IE an Deinen Server sendet. An irgend einer Stelle unterscheidet sich dies von dem, was ein Mozilla verschickt, was irgendwo in Deiner Programmlogik zu etwas Falschem führt.

                    Und das frameset beseitige ich dann sobald ich/wir das Problem hier gelöst habe(n).

                    Es freut mich, das zu hören.

                    Cheatah

                    --
                    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes
                    1. Hallo!

                      ich meine damit die Daten, die der IE an Deinen Server sendet. An irgend einer Stelle unterscheidet sich dies von dem, was ein Mozilla verschickt, was irgendwo in Deiner Programmlogik zu etwas Falschem führt.

                      Also sozusagen das Formular, oder?:

                      <form action="login.php" method="post"><b>Login:</b><br>Kundennummer:<br><input name="kundennr" size=6><br>Passwort:<br><input type="password" name="pass" size=15><br><input type="submit" value="Login">

                      Da fällt mir grade auf... ich hab das </form> vergessen. Aber mit geht's auch nicht.

                      Nico

                      1. Hallo,

                        ich meine damit die Daten, die der IE an Deinen Server sendet. An irgend einer Stelle unterscheidet sich dies von dem, was ein Mozilla verschickt, was irgendwo in Deiner Programmlogik zu etwas Falschem führt.

                        Was gibt der Kunde beispielsweise bei Kundennummer ein?

                        Lass Dir doch einfach mal ausgeben, was bei $_POST["kundennr"] ankommt. Vergleiche dann, ob vom IE etwas anderes kommt als vom Firefox.

                        viele Grüße

                        Axel

                        1. Hallo!

                          Was gibt der Kunde beispielsweise bei Kundennummer ein?

                          Eine ganzzahlige Zahl.

                          Beim FF und IE kommen die gleichen Werte an.

                          Nico

                          1. Hallo,

                            Beim FF und IE kommen die gleichen Werte an.

                            Bei $_POST["kundennr"], gut.

                            Und wie sieht es in der *.php aus, die im Frame angefordert wird? Was kommt da als $_SESSION["kundennr"] an?

                            Um gleich die nächste Frage zu beantworten:
                            Wenn da was unterschiedliches ankommt: Wie wird die Session erhalten? Per Cookie oder per URL? Wenn per Cookie, was ist als Cookie-Behandlung für den IE eingestellt?

                            Wenn da beim IE was anderes ankommt, dann müsste ja aber spätestens hier:
                            $name=$name[0]." ".$name[1];
                            ein Fehler erzeugt werden, weil in der Datenbank ja gar kein $user gefunden werden dürfte.

                            viele Grüße

                            Axel

                            1. Hallo!

                              Und wie sieht es in der *.php aus, die im Frame angefordert wird? Was kommt da als $_SESSION["kundennr"] an?

                              Da kommt gar nix an.

                              Um gleich die nächste Frage zu beantworten:

                              Wenn da was unterschiedliches ankommt: Wie wird die Session erhalten? Per Cookie oder per URL? Wenn per Cookie, was ist als Cookie-Behandlung für den IE eingestellt?
                              Wie die Session erhalten wird, hab ich keine Ahnung. Im IE ist eingestellt, dass der so ziemlich fast alle Cookies sperrt.

                              Wenn da beim IE was anderes ankommt, dann müsste ja aber spätestens hier:
                              <$name=$name[0]." ".$name[1];
                              ein Fehler erzeugt werden, weil in der Datenbank ja gar kein $user gefunden werden dürfte.

                              Richtig. Da kommt eben nix. Das war ja auch der Anlass, diesen Thread zu eröffnen.

                              Nico

                              1. Hallo,

                                Wenn da was unterschiedliches ankommt: Wie wird die Session erhalten? Per Cookie oder per URL? Wenn per Cookie, was ist als Cookie-Behandlung für den IE eingestellt?
                                Wie die Session erhalten wird, hab ich keine Ahnung.

                                Es gibt nur die beiden Möglichkeiten http://de.php.net/manual/de/ref.session.php. Wenn die SID per URL übergeben wird, dann solltest Du diese in den URLs, die der Browser anzeigt, auch sehen können, wenn nicht, dann erfolgt die Übetragung per Cookie bzw. wird versucht.

                                Im IE ist eingestellt, dass der so ziemlich fast alle Cookies sperrt.

                                Du wartest jetzt nicht wirklich darauf, dass ich Dir empfehle das (testweise) mal zu ändern?

                                viele Grüße

                                Axel

                                1. Hallo!

                                  Du wartest jetzt nicht wirklich darauf, dass ich Dir empfehle das (testweise) mal zu ändern?

                                  Nee. Also muss ich die SessionID per URL übergeben, sodass das auch bei denen funktioniert, die Cookies sperren? Das wäre dann also so:
                                  URL=login.php?SID=...
                                  Oder? Aber wie verklickere ich dem denn dann, dass er dann die Session nehmen soll, deren SessionID an der URL hintendran hängt. Das mit $_GET... ist mir ja klar. Aber wie wählt der denn die Sessions dann aus?

                                  Nico

                                  1. hi,

                                    Nee. Also muss ich die SessionID per URL übergeben, sodass das auch bei denen funktioniert, die Cookies sperren? Das wäre dann also so:
                                    URL=login.php?SID=...
                                    Oder? Aber wie verklickere ich dem denn dann, dass er dann die Session nehmen soll, deren SessionID an der URL hintendran hängt. Das mit $_GET... ist mir ja klar. Aber wie wählt der denn die Sessions dann aus?

                                    du spielst offenbar mit einer technik rum, mit der du dich noch kaum beschäftigt hast.

                                    bitte beschäftige dich intensiver mit http://www.php.net/manual/de/ref.session.php - das sollte die fragen eigentlich beantworten.

                                    gruß,
                                    wahsaga

                                    --
                                    /voodoo.css:
                                    #GeorgeWBush { position:absolute; bottom:-6ft; }
                                    1. Hallo!

                                      du spielst offenbar mit einer technik rum, mit der du dich noch kaum beschäftigt hast.

                                      Naja. Mit PHP hab ich erst dieses Jahr angefangen und Sessions interessieren mich auch erst seit paar Wochen.
                                      Ich habe mich nun lieber entschieden, die Sessions durch Cookies zu übertragen/speichern. Aus den in http://www.php.net/manual/de/ref.session.php genannten Gründen. Ich hab also einfach eine Anmerkung hingesetzt, dass der Browser Cookies annehmen muss. Für die älteren Leute, die ja Hauptzielgruppe sind, hab ich dann eine Extraseite, in der erklärt wird, wie man seinem Browser klarmacht, dass er gefälligst Cookies anzunehmen hat.
                                      Danke für die viele Hilfe.
                                      Ach und das Frameset wird also demnächst verschwinden.

                                      Nico

                      2. Hi,

                        ich meine damit die Daten, die der IE an Deinen Server sendet. An irgend einer Stelle unterscheidet sich dies von dem, was ein Mozilla verschickt, was irgendwo in Deiner Programmlogik zu etwas Falschem führt.
                        Also sozusagen das Formular, oder?:

                        nein, den Request. Also das, was zwischen dem Formular und Deinem PHP-Script passiert.

                        <form action="login.php" method="post"><b>Login:</b><br>Kundennummer:<br><input name="kundennr" size=6><br>Passwort:<br><input type="password" name="pass" size=15><br><input type="submit" value="Login">

                        Beschäftige Dich mit dem <label>-Element und CSS.

                        Da fällt mir grade auf... ich hab das </form> vergessen.

                        Validieren, validieren, validieren :-)

                        Cheatah

                        --
                        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                        X-Will-Answer-Email: No
                        X-Please-Search-Archive-First: Absolutely Yes
                        1. Hallo,

                          nein, den Request. Also das, was zwischen dem Formular und Deinem PHP-Script passiert.

                          Worauf willst Du hinaus? Welche Möglichkeit glaubst Du hat er, sich den HTTP-Request des Browsers, möglichst inklusive mitgesendeter Cookie-Daten, speziell des IE, komplett anzeigen zu lassen?

                          viele Grüße

                          Axel

                          1. Hi,

                            Worauf willst Du hinaus?

                            https://forum.selfhtml.org/?t=103390&m=636724

                            Welche Möglichkeit glaubst Du hat er, sich den HTTP-Request des Browsers, möglichst inklusive mitgesendeter Cookie-Daten, speziell des IE, komplett anzeigen zu lassen?

                            Beispielsweise eine lokale Firewall. Ob er sich aber die Requests in ihrer Reinform anzeigen lässt oder nicht, ist nur mäßig relevant. Es gibt augenscheinlich Unterschiede, die soll er finden.

                            Cheatah

                            --
                            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                            X-Will-Answer-Email: No
                            X-Please-Search-Archive-First: Absolutely Yes