Webdesign in Siegen

Login-Script

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

Login-Script

Beitragvon SilentStormer am 08.01.2006, 13:58

Hi!

Ich habe auf meiner Homepage ein Login-Script. Das hat bei mir bis jetzt tadellos funktioniert und eines Tages nicht mehr - aber es war nicht die Zeit!
Ich benutze Firefox und bis zu diesem Zeitpunkt immer genutzt. Damit ist es auch gegangen.
Aber dieser scheiß IE kackt mir mal wieder ins System. Im IE kann ich mich nämlich nicht anmelden und ich weiß nicht warum ...

Code: Alles auswählen
<?php
  session_start();

  include "mysql_connectinfo.php"; // hier stehen die Daten, die zur Verbindung zur Datenbank benötigt werden, drinnen

  if (isset($_SESSION['angemeldet']) || $_SESSION['angemeldet']) {
    header('Location: login-index.php');
    exit;
  }

  else if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    $username = $_POST['username'];
    $passwort = $_POST['passwort'];

    $sql = "SELECT `name` FROM `login` WHERE `name`='$username' AND `pwd`='$passwort'";
    $result = mysql_query($sql);

    // Benutzername und Passwort werden überprüft
    if (mysql_num_rows($result) != 0) {
      $_SESSION['angemeldet'] = true;

      // Weiterleitung zur geschützten Startseite
      if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
        if (php_sapi_name() == 'cgi') {
          header('Status: 303 See Other');
        }
        else {
          header('HTTP/1.1 303 See Other');
        }
      }

      header('Location: login-index.php');
      exit;
    }
  }
?>
    <form action="login.php" method="post">
      <table border="0">
        <tr>
          <td>Username:</td>
          <td><input type="text" name="username" /></td>
        </tr>
        <tr>
          <td>Passwort:</td>
          <td><input type="password" name="passwort" /></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" value="Einloggen" /></td>
        </tr>
      </table>
    </form>


Das ist der Code (derselbe wie in meinem PHP-Tutorial übrigens ^^).
Im Firefox komm ich problemlos rein, im IE geht gar nichts.

Kann mir wer sagen, warum das so ist bzw. einen Lösungsvorschlag für ein Loginscript machen, mit dem ich in allen gängigen Browsern reinkomm?

Danke!
Bild
Benutzeravatar
SilentStormer
Mitglied
 
Beiträge: 384
Registriert: 24.09.2005
Wohnort: Österreich

Beitragvon Dac-XP am 08.01.2006, 14:10

Hi!

Ich habe den Text jetzt mal nur überflogen.

Ich vermute, dass liegt an den Sitzungscookies. Die sind beim IE nämlich standartmäßig deaktiviert.

Geh mal im IE auf Extras->Internetoptionen->Datenschutz (Reiter)->Erweitert->Häkchen in "Automatische Cookiebehandlung aufheben"->Häkchen in "Sitzungscookies immer zulassen".

Jetzt dürfte es gehen. Das ist nämlich das Seltsame am IE. Manchmal macht der das, und machmal nicht.
Bild
Benutzeravatar
Dac-XP
Mitglied
 
Beiträge: 1882
Registriert: 23.06.2005
Wohnort: Mönchengladbach / NRW

Beitragvon SilentStormer am 08.01.2006, 14:17

Danke für deine Hilfe.
Jetzt funktioniert das.

Das hebt mein Problem aber noch immer nicht auf.
Ich möchte, das sich jeder beliebige einloggen kann (wie zB bei einem Browsergame). Wenn jetzt aber (k.A. wieviel, hausnummer) 70% mit dem IE surfen und bei allen ist das deaktiviert und können sich somit nicht einloggen, dann ist das ziemlich nachteilhaft.

Gibts da keine andere Lösung?
Bild
Benutzeravatar
SilentStormer
Mitglied
 
Beiträge: 384
Registriert: 24.09.2005
Wohnort: Österreich

Beitragvon Dac-XP am 08.01.2006, 14:23

Ich meine genau für diesen Fall wird die Session-ID per URL übergeben. Leider weiß ich nicht, wie man dann damit umzugehen hat.

Vielleicht hilft dir der Begriff "Fallback" ein wenig weiter.
Bild
Benutzeravatar
Dac-XP
Mitglied
 
Beiträge: 1882
Registriert: 23.06.2005
Wohnort: Mönchengladbach / NRW

Beitragvon Manuel am 08.01.2006, 14:24

Hm, das Problem hat wohl jeder, der mit einem Login arbeiten muss. Hatte mir damals auch lange Gedanken darüber gemacht.

Bei mir sind diese auch nicht aktiviert und das Forum funktioniert trotzdem, auch wenn man vielleicht ab und an mal im IE rausfliegt.

Daher würde ich mir einfach mal den Login des Forums anschauen. Den Quellcode kannst du dir ja auf phpBB.de runterladen.

Soweit ich das aber verstanden habe, wird dort auch immer irgendwie die Session-ID angehangen mit der append()-Funktion, damit auch die, die Cookies nicht zulassen, nicht direkt rausfliegen.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 8680
Registriert: 10.12.2004
Wohnort: Asbach

Beitragvon SilentStormer am 08.01.2006, 15:25

Danke.
Werd mir was überlegen ...
Bild
Benutzeravatar
SilentStormer
Mitglied
 
Beiträge: 384
Registriert: 24.09.2005
Wohnort: Österreich

Beitragvon SvenSun am 04.03.2006, 03:02

Man kann natürlich auch einfach die Benutzer darauf hinweisen dass es bei IE zu 'schwierigkeiten' kommen kann und evtl einen anderen Browser empfehlen. Oder man lässt die Benutzer einfach des Cookie dings da umstellen ^^

SpreadFireFox :D
Bild
Benutzeravatar
SvenSun
Mitglied
 
Beiträge: 915
Registriert: 04.09.2005
Wohnort: DE | Müllheim-Baden | BW


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast