Geister im Script? Firefox geht, Inet Explorer geht nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Geister im Script? Firefox geht, Inet Explorer geht nicht

    Hi @all ich hab nen kleine problem was mich wachhält.
    habe das Loginscript Script von mr happiness wir zu gemüte geführt und auch in meine seite eingebaut.
    so ich benutze nur firefox. da geht auch alles perfekt meine seite samt loginscript funktioniert wunderbar.
    nun bin ich auf die idee gekommen das es ja net nur so leut wie mich mim firefox gibt sondern auch Micro$oft Internet Explorer benutzer
    also habe ich das script mit dem IExplorer getestet und siehe da der Login geht nicht. ich habe das script so umgebaut das man die benutzer aus nem select menü auswählen kann. also benutzer ausgewählt passwort eingeben (genau der gleiche vorgang im firefox funktioniert) und einloggen gedrückt und schupps lande ich wieder auf der Loginseite mit der aufforderung zum Login.
    was kann das sein?
    anbei meine login.php
    PHP-Code:
    <?php
    session_start
    ();
    include(
    "sessionhelpers.inc.php");
    include(
    "sql.php");
    echo 
    "<link rel='stylesheet' type='text/css' href='styles.css'>
    <center><table width='905' height='80' border='0'>
    <tr><td colspan='2' height='80'><center><img src='./gfx/bfs.jpg'></td></tr>"
    ;

    if (isset(
    $_POST['login']))
    {
        
    $id=check_user($_POST['name'], $_POST['passwort']);
        if (
    $id!=false){
            
    login($id);
          }
        else{
            echo 
    "
    <tr><td width='375' height='10' class='fehler' align='right'>
    Ihre Anmeldedaten</td><td > waren nicht korrekt!</center><br></td></tr>"
    ;
    };};
    if (!
    logged_in()){
        echo 
    "
    <form method='post' action='index.php'>
        <tr>
          <td align='right' height='10'><label>Benutzername:</label></td>
          <td><select name='name' class='login'>
              "
    ;
    //hier liest er die mitarbeiter aus um sie inner 
    //select auswahl wiederzugeben funktioniert im
    //firefox perfekt
    $result=mysql_query("Select * From $mitarbeiter");
    while(
    $row=mysql_fetch_array($result)) {
    echo
    "
              <option name='name' value='"
    .$row["name"]."'>".$row["name"]."</option>
              "
    ;};echo "
              <option selected name='Mitarbeiter w&auml;hlen'>Auswahl</option>
          </select></td>
        </tr>
        <tr>
          <td height='10' width='375' align='right'><label>Passwort: </label></td>
          <td><input name='passwort' type='password' id='passwort'></td>
        </tr>
        <tr>
          <td width='375'></td>
          <td><input name='login' type='submit' id='login' value='Einloggen'>
              </th>
          </table>
      </form>"
    ;}
    else
    {
    echo
    "<center><table width='905' height='200'><tr>
    <td height='20'>
    <meta http-equiv='refresh' content='1; URL=index2.php'>
    <center>
    Login erfolgreich!<br>Sie werden weitergeleitet!</td></tr> </table>"
    ;
    }

    ?>
    Zuletzt geändert von derEini; 02.01.2006, 14:35.

  • #2
    keiner auch nur die kleinste idee?

    Kommentar


    • #3
      wenn du das Zeug mal richtig formatieren würdest könnte man sich das ja mal anschauen, aber if else inklusive html-Code auf einer Zeile, Blöcke unterschiedlich eingerückt, etc. lässt sich im Forum einfach nicht lesen ... und das wird wohl das Problem sein

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Läuft das Script zufällig in einem Frame / IFrame?

        Ich schätze es liegt daran, dass bei der Meta-Weiterleitung die Session-ID nicht angehängt wird und der IE den Session-Cookie blockt.

        Beheben kannst du das ungefähr so:
        PHP-Code:
        echo "[...] <meta http-equiv='refresh' content='1; URL=index2.php?" SID "'> [...]"
        hopka.net!

        Kommentar


        • #5
          so, nach mehreren Läufen doch das Einrück-Tool von ZDE (LERN IN GOTTES NAMEN EINRÜCKEN UND HÖR AUF DIE RETURN-TASTE ZU SCHONEN!!! nach einer } kommt ein Umbruch und da muss auch kein ; mehr hin. Klick auf die Links in meiner Sig und lies was da gebetet wird, das schreiben die Leute nicht zum Spaß mehrere Stunden...)

          kam ich zuerst zu dem Schluss, dass da ne Funktion fehlt, bitte posten, und das ein option-Tag kein Name-Attribut bekommt

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            HOPKA danke für deinen tip aber das war es leider nicht. sehr sehr komisch ich schaus mir nunr schon seit 30 minuten wie blöde an und komm net druff was es sein könnte

            Kommentar


            • #7
              hab mir den code aus o.g. gründen nicht angesehen. Tendiere aber ähnlich wie Hopka zu einem Problem mit der SID. Wird diese überall übergeben? Testausgaben gemacht?

              also benutzer ausgewählt passwort eingeben (genau der gleiche vorgang im firefox funktioniert) und einloggen gedrückt und schupps lande ich wieder auf der Loginseite mit der aufforderung zum Login.
              ich gehe recht in der annahme, dass du nur das loginformular siehst und keine meldung a la "logindaten falsch"?

              Kann man das ganze mal inkl. o.g. Testausgabe online sehen?
              Zuletzt geändert von TobiaZ; 30.12.2005, 02:16.

              Kommentar


              • #8
                Original geschrieben von TobiaZ


                ich gehe recht in der annahme, dass du nur das loginformular siehst und keine meldung a la "logindaten falsch"?

                exakt.

                Kann man das ganze mal inkl. o.g. Testausgabe online sehen?
                schlecht da ich keine ports nach ausen frei geben kann! hab nen bösen admin.

                Kommentar


                • #9
                  das witzige ist die SID wird auch ordnungsgemäß in die mysql db eingetragen jetzt bin ich komplett verwirrt

                  Kommentar


                  • #10
                    das war nicht die Frage. Gefragt war, ob Sie überall korrekt übergeben wird. Und das scheint offensichtlich nicht der Fall zu sein.

                    Kommentar


                    • #11
                      anscheinend habe ich den übertäter entdeckt.
                      ich glaube, dass aus Gründen die ich nicht weiß
                      dieser fitzel code
                      PHP-Code:
                      function login($id)
                      {
                          
                      $sql="UPDATE mitarbeiter SET UserSession='".session_id()."' WHERE id=".$id;
                          
                      mysql_query($sql);

                      vom ie nicht verstanden wird oder so.
                      weil wenn ich mich einloggen will mit dem ie wird die session id nicht in die db eingetragen.
                      Beim firefox geschiet dies.
                      Wenn ich nun die session id eingenhändig in die db eintrage gelange ich auch auf den "geschützten teil".
                      aber was ist daoben dran falsch ist ja fast 1:1 übernommen vom orginal. nur das $userid nun $id ist.
                      Zuletzt geändert von derEini; 02.01.2006, 14:33.

                      Kommentar


                      • #12
                        Hab jetzt nicht mehr den Thread im Kopf. Aber deine Vermutung, dass der IE dieses Stück PHP-Code nicht versteht, ist mit sicherheit nicht korrekt. Der IE verstehts PHP genauso wenig wie der FF. nur kann das auch egal sein, weil der Code auf dem Server ausgeführt wird, nicht beim Klient (Browser).

                        Sofern wirds daran nicht (direkt) liegen.

                        Wie sehen die Cookie-/Sessioneinstellungen sowohl in den beiden Browsern als auch auf dem Webserver aus?

                        Kommentar


                        • #13
                          ich such se gleich mal alle aus raus auch vom server (was brauchst da genau???).
                          aber was haben die einstellungen damit zutun das er die sesssion id nicht unter UserSession in die dB schreibt.
                          hab des shcon von 5 anderen ie's ausprobiert überall das gleiche nur mit ff gehts


                          //edit
                          //browsereinstellungen bzgl. cookies
                          alle cookies annehmen.
                          Sessioncookies immer zulassen

                          Zuletzt geändert von derEini; 02.01.2006, 14:50.

                          Kommentar


                          • #14
                            Reicht erstmal an daten, denke ich.

                            Da hilft erstmal nur vernünftiges debugging. Das kannst nur du selber.

                            Wird die sessionID überall korrekt mitgenommen, oder ändert die sich?

                            Kommentar


                            • #15
                              also im FF ist sie überall gleich. habe auf den folgenden seiten paar überprüfungen eingebaut-
                              im ie kann ich es nicht sagen weil ich auf die weiteren seiten nicht drauf komme. Aber wenn ich mich einloggen erscheint sie in der browser zeile und auf der Loginseite, auf die ich ja wieder lande, habe ich mal eine ".session_id()." eingebaut zur überprüfung.
                              aber sie wird halt nicht in die db eingetragen

                              Kommentar

                              Lädt...
                              X