Flashhilfe.de - Flash Community

Login mit Datenbank

 


AntwortenRegistrieren Seite1  

firreler#1
Benutzerbild von firreler
Beiträge: 1
Registriert: Mar 2007

29.03.2007, 14:43

Hallo Leute!

Also.. ich soll für mein Projekt eine Inventar-Datenbank erstellen. Dazu brauche ich aber einen passenden Login... Habe auch schon was vorgefertigtest gefunden und angepasst. Schaffe es aber nicht mich anzumelden. Weiss nicht woran es liegt. Habe die Nutzerdaten in einer Tabelle gespeichert, nun soll das Login-Fenster die eingegebenen Daten mit der Tabelle vergleichen... Wenn ich mich jetzt versuche anzumelden, funzt es nicht, das Login Fenster kommt immer wieder, es geht nicht weiter!?!?!

Die Tabelle besteht aus drei Spalten, hab i auch laut Anleitung erstellt...
user, pass, deny
^^ pass beinhaltet hashwerte... (PASSWORD)

Danke schonmal!


Hier das Login Fenster:

<?php
  /**************************************************************
  *                                                            *
  * Login-Script                                                *
  * angelehnt an das login-Script von ----        *
  * Ver 0.3                                                    *
  * by Pierce@gmx.net                                          *
  *                                                            *
  * frei von Rechten                                            *
  **************************************************************/

  //Datenbankzugang zusammenschrauben
  $hostname="localhost";
// -> anpassen !
  $username="root";
  $password="******";
  $database="shop";

  //Funktion, welche das Authorisierungsfenster des Browsers hochkommen lässt
  function authenticate($file_name = "") {
  Header( "WWW-Authenticate: Basic realm=\"BNW Inventar\"");
  Header( "HTTP/1.0 401 Unauthorized");
  //im folgenden sollte etwas ausgegeben werden, damit der User auch weiss, dass (und ggf. warum) er nicht auf die Seite darf.
  //der unten dargestellte Code veranlasst den Browser, sofort auf die Seite error401.php umzuleiten
  echo"    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">
            <HTML>
            <HEAD>
            <TITLE>Dokumentation</TITLE>
            <meta http-equiv=\"refresh\" content=\"0; URL=/error401.php?woher=$file_name\">
            </HEAD>
            <BODY>
            </BODY>
            </HTML>      ";
  exit;
  }

  //Wenn er noch nicht angemeldet ist,
  //oder OldAuth&PHP_AUTH_USER ungleich UND SeenBefore=1 sind, neu anmelden
  if (!isset($PHP_AUTH_USER)
      || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)))
  {
  authenticate($file_name);
  }

  //mit MySQL verbinden
  $db=@mysql_connect("$hostname","$username","$password");

  //richtige DB auswählen
  @mysql_select_db("$database",$db);

  //die nachfolgende Überprüfung ist so gehalten, dass der User sich neu anmelden muss,
  //wenn an irgendeiner Stelle ein Verbot sichtbar wird (nicht in DB oder kein Recht auf's File)
  $query="SELECT * FROM user WHERE user='$PHP_AUTH_USER' AND pass=PASSWORD('$PHP_AUTH_PW')";
  //erstmal schauen, ob er überhaupt in der DB drinsteht
  if (@mysql_num_rows(@mysql_query($query))>0)
  {
  //schauen, ob der das , ob er das entsprechende File auch nutzen darf (wenn angegeben).
  if (isset($file_name))
  {
    $query.=" AND DENY like '%$file_name%'";
    if (@mysql_numrows(@mysql_query($query))>0)
    {
    //er darf das file nicht nutzen
    //deswegen neu anmelden!
    authenticate($file_name);
    //und raus!
    exit;
    }//endif file_use ok
  }//endif isset(filename)
  }//endif user_exists
  else
  {
  //wenn Username/Passwort falsch sind, so soll er sich nochmal versuchen
  authenticate($file_name);
  }
?>

michelschacht#2
Benutzerbild von michelschacht
Beiträge: 24
Wohnort: Berlin was sonst
Registriert: Jan 2005

18.05.2007, 20:32

tach tach

sag malhast du nur eine daten bank oder mehr wenn mehr hats liebgt das problem darin das er nicht weiß was er mit ner tabelle soll die er nicht findet also muss die tatenbank mit angegeben weden

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
 
  //Datenbankzugang zusammenschrauben
  $hostname="localhost";
// -> anpassen !
  $username="root";
  $password="******";
  $database="shop";
  $Tablename = "Login-zm-bsp";

  //Funktion, welche das Authorisierungsfenster des Browsers hochkommen lässt
  function authenticate($file_name = "") {
  Header( "WWW-Authenticate: Basic realm=\"BNW Inventar\"");
  Header( "HTTP/1.0 401 Unauthorized");
  //im folgenden sollte etwas ausgegeben werden, damit der User auch weiss, dass (und ggf. warum) er nicht auf die Seite darf.
  //der unten dargestellte Code veranlasst den Browser, sofort auf die Seite error401.php umzuleiten
  echo"    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">
            <HTML>
            <HEAD>
            <TITLE>Dokumentation</TITLE>
            <meta http-equiv=\"refresh\" content=\"0; URL=/error401.php?woher=$file_name\">
            </HEAD>
            <BODY>
            </BODY>
            </HTML>      ";
  exit;
  }

  //Wenn er noch nicht angemeldet ist,
  //oder OldAuth&PHP_AUTH_USER ungleich UND SeenBefore=1 sind, neu anmelden
  if (!isset($PHP_AUTH_USER)
      || ($SeenBefore == 1 && !strcmp($OldAuth, $PHP_AUTH_USER)))
  {
  authenticate($file_name);
  }

  //mit MySQL verbinden
  $db=@mysql_connect("
$hostname","$username","$password","$Tablename");

  //richtige DB auswählen
  @mysql_select_db("
$database",$db);

  //die nachfolgende Überprüfung ist so gehalten, dass der User sich neu anmelden muss,
  //wenn an irgendeiner Stelle ein Verbot sichtbar wird (nicht in DB oder kein Recht auf's File)
  $query="
SELECT * FROM user WHERE user='$PHP_AUTH_USER' AND pass=PASSWORD('$PHP_AUTH_PW')";
  //erstmal schauen, ob er überhaupt in der DB drinsteht
  if (@mysql_num_rows(@mysql_query($query))>0)
  {
  //schauen, ob der das , ob er das entsprechende File auch nutzen darf (wenn angegeben).
  if (isset($file_name))
  {
    $query.="
AND DENY like '%$file_name%'";
    if (@mysql_numrows(@mysql_query($query))>0)
    {
    //er darf das file nicht nutzen
    //deswegen neu anmelden!
    authenticate($file_name);
    //und raus!
    exit;
    }//endif file_use ok
  }//endif isset(filename)
  }//endif user_exists
  else
  {
  //wenn Username/Passwort falsch sind, so soll er sich nochmal versuchen
  authenticate($file_name);
  }
?>




hoffe mal habe nix vergessen zu ändern

lg michel


AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de