• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MySQL Login in PHP

  • Ersteller Ersteller matibaski
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Moin!
Habe folgendes Problem"chen":

Ich habe bei meinem Newsscript bei der Installation zwei Datenbanken erstellt.
Eine für die News, und eine für die Logindaten.

Ist alles erfolgreich abgelaufen.
Nun möchte ich ja, dass man sich einloggen kann, mit Benutzer und Passwort.
für das Login brauche ich 3 Seiten:
-index.php -> mit Loginformular
-login.php -> Login zu Session umwandeln
-admin.php -> Geschützter Inhalt, prüft jedes mal nach Session.

Die index.php ist die Datei, die das Formular beinhaltet. Ist hier unwichtig.

Ich gehe davon aus, dass der Fehler bei login.php liegt.


Nun die login.php
PHP:
<?php
include"config.php";

    @mysql_connect($host, $user, $pass) OR
        die("Es konnte keine Verbindung aufgebaut werden");

    mysql_select_db($database) OR
       die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

$sql = "SELECT
                User,
                Email,
                Passwort
            FROM
                MyBLogin;";

    $result = mysql_query($sql) OR die(mysql_error());
    $row = mysql_fetch_assoc($result);
     

    $Login = $row['User'] && $row['Passwort'];
        if($_REQUEST['Passwort'] && $_REQUEST['User'] == $Login)
        {
          session_start();
          $_SESSION['MyBnews'] = $Login;
        }
?>
<!--blablabla-body, head,,usw...-->
<?php
if($_SESSION['MyBnews'] == $Zugangspasswort && $Username)
{
echo"Sie sind erfolgreich eingeloggt!<br>Sie werden zum Newstool weitergeleitet.<script>window.location.href=('admin.php?site=main')</script>";
}
else
{
echo 'Sie sind nicht befugt, diese Seite anzusehen<br />Möglicherweise ist das eingegeben Passwort falsch.<br /><br />';
echo 'Bitte loggen Sie sich <a href="index.php">hier</a> erneut ein.';
}
?>
Beim versuch, mich einzuloggen, kam immer die else{} Meldung.
Also liegt es bei meinem Session Script oder so.

Und hier die admin.php (Hilft euch vielleicht weiter)
PHP:
<?php
session_start();

include"config.php";

    @mysql_connect($host, $user, $pass) OR
        die("Es konnte keine Verbindung aufgebaut werden");

    mysql_select_db($database) OR
       die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());

$sql = "SELECT
                User,
                Email,
                Passwort
            FROM
                MyBLogin;";

    $result = mysql_query($sql) OR die(mysql_error());
    $row = mysql_fetch_assoc($result);
    
    $Login = $row['User'] && $row['Passwort'];
        if($_SESSION['MyBnews'] == $Login)
        {
         // geschützter Inhalt...
        }
        else 
        {
          echo 'Ihre Session ist nicht gültig!<br />';
          echo 'Bitte loggen Sie sich <a href="index.php">hier</a> ein.';
        }
?>
Ich dachte, dass ich die Session mit einer Variable $Login mache, die mit den Feldern Passwort und User definiert wurde.

Doch das ging natürlich in die Hose.
Wie könnte man eine MySQL Session registrierung machen?

MfG, matibaski

edit:
gekürzt.
Zufrieden Herr MOD?
 
Zuletzt bearbeitet von einem Moderator:
Bitte gemäß den Regeln anpassen, bei soviel Code kann man ohne Einrücken nicht viel erkennen
http://html.de/showthread.php?t=1623

EDIT:
Denk mal es liegt in der Login an folgendem:
PHP:
 $Login = $row['User'] && $row['Passwort'];
        if($_REQUEST['Passwort'] && $_REQUEST['User'] == $Login)
Schreib das mal so um:
PHP:
        if($_REQUEST['Passwort'] == $row['Passwort'] && $_REQUEST['User'] == $row['User']) {
            $user = $row['User'];
            $pass = $row['Passwort'];
            session_start();
            $_SESSION['user'] = $user;
            $_SESSION['pass'] = $pass;
       }

Und dann natürlich noch:
PHP:
<?php
if($_SESSION['MyBnews'] == $Zugangspasswort && $Username)
{
echo"Sie sind erfolgreich eingeloggt!<br>Sie werden zum Newstool weitergeleitet.<script>window.location.href=('admin.php?site=main')</script>";
}
else
{
echo 'Sie sind nicht befugt, diese Seite anzusehen<br />Möglicherweise ist das eingegeben Passwort falsch.<br /><br />';
echo 'Bitte loggen Sie sich <a href="index.php">hier</a> erneut ein.';
}
?>
In
PHP:
<?php
if($_SESSION['user'] == $Zugangspasswort && $_SESSION['pass'] == $Username)
{
echo"Sie sind erfolgreich eingeloggt!<br>Sie werden zum Newstool weitergeleitet.<script>window.location.href=('admin.php?site=main')</script>";
}
else
{
echo 'Sie sind nicht befugt, diese Seite anzusehen<br />Möglicherweise ist das eingegeben Passwort falsch.<br /><br />';
echo 'Bitte loggen Sie sich <a href="index.php">hier</a> erneut ein.';
}
?>

Obwohl ich mich da grad wundere, wo das $Zugangspasswort und $username herkommen...

Du musst die admin dann nat. noch sinngemäß umschreiben
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben