Zunächst einmal ich benutze XAMPP, Zend und schreibe in PHP 5. Habe in PHPMYADMIN eine Datenbank erstellt, mit einer Tabelle Admin. In der Tabelle sind die Spalten (AdminID,AdminName und AdminPasswort)erstellt worden. Habe mit Zend eine Konstanten.inc erstellt wo die Daten der Datenbank stehen. Dann eine CLogin.inc wo ich die checkLogInData schrieb. Dann noch die Admin-Login-Seite.
Die Quellcodes für CLogin.inc
<?php
require_once("konstanten.inc.php");
class CLogIn
{
private $db = null;
private $result = null;
private function mysqlConnect()
{
$this->db = new mysqli(DBSERVER, MYSQLUSER, MYSQLPASSWORD, DBNAME);
if (mysqli_connect_errno() )
{
echo "Verbindung zu MySQL/Datenbank fehlgeschlagen:
\n"
.mysqli_connect_errno()." - ".mysqli_connect_error();
exit();
}
}
function __construct( $logInState=null, $redirectAdress=null )
{
if ($logInState > 0)
{
if( (!is_array($_SESSION["CLogIn"])
|| $logInState > $_SESSION["CLogIn"]["idState"]))
{
header("Location: $redirectAdress");
exit();
}
}
}
function checkLogInData ( $AdminName, $AdminPasswort )
{
if ( !($this->db instanceof mysqli ) )
$this->mysqlConnect();
$sql = "SELECT * FROM `Admin` WHERE ((LOWER(`AdminName`)=LOWER('$AdminName')) AND (AdminPasswort=password ('$AdminPasswort')));";
$this->result = $this->db->query($sql)
or die("Vorbereiten der Abfrage fehlgeschlagen:
"
.$sql."
". $db->error);
$row=$this->result->fetch_assoc();
$_SESSION["CLogIn"]=$row;
return $row;
}
.......
In der Login-Seite:
<?php
require_once("inc/konstanten.inc.php");
require_once("inc/clogin.inc.php");
session_start();
$objLogIn = new CLogIn();
if ($_REQUEST["FormID"]="Login")
$message="";
$_SESSION["Login"]=false;
if (($_REQUEST["AdminName"]!="") && ($_REQUEST["AdminPasswort"]!="") && ($_REQUEST["Bestätigen"]=="Bestätigen"))
{
$state = $objLogIn->checkLogInData($_REQUEST["AdminName"],$_REQUEST["AdminPasswort"]);
if (is_array($state))
{
$_SESSION["Login"]=true;
header("Location: Prototyp-Admin-Bereich.php");
exit();
}
else
{
$message = "Anmeldung fehlgeschlagen";
}
}
elseif ($_REQUEST["Abrechen"]=="Abrechen")
{
header("Location: Prototyp-Startseite2.php");
}
else
{
$message = "Geben Sie bitte Ihren Benutzernamen und Ihr Passwort ein.";
}
?>
.....
Mein Problem ist, das ich mich nicht anmelden kann. Habe ja in PHPMYADMIN ein Adminkonto erstellt. Kann jemand mit dem Quellcode was anfangen? Bin eigentlich kein Anfänger mehr, aber hier suche ich schon seit ein paar Tagen nach dem Problem.
Die Quellcodes für CLogin.inc
<?php
require_once("konstanten.inc.php");
class CLogIn
{
private $db = null;
private $result = null;
private function mysqlConnect()
{
$this->db = new mysqli(DBSERVER, MYSQLUSER, MYSQLPASSWORD, DBNAME);
if (mysqli_connect_errno() )
{
echo "Verbindung zu MySQL/Datenbank fehlgeschlagen:
\n"
.mysqli_connect_errno()." - ".mysqli_connect_error();
exit();
}
}
function __construct( $logInState=null, $redirectAdress=null )
{
if ($logInState > 0)
{
if( (!is_array($_SESSION["CLogIn"])
|| $logInState > $_SESSION["CLogIn"]["idState"]))
{
header("Location: $redirectAdress");
exit();
}
}
}
function checkLogInData ( $AdminName, $AdminPasswort )
{
if ( !($this->db instanceof mysqli ) )
$this->mysqlConnect();
$sql = "SELECT * FROM `Admin` WHERE ((LOWER(`AdminName`)=LOWER('$AdminName')) AND (AdminPasswort=password ('$AdminPasswort')));";
$this->result = $this->db->query($sql)
or die("Vorbereiten der Abfrage fehlgeschlagen:
"
.$sql."
". $db->error);
$row=$this->result->fetch_assoc();
$_SESSION["CLogIn"]=$row;
return $row;
}
.......
In der Login-Seite:
<?php
require_once("inc/konstanten.inc.php");
require_once("inc/clogin.inc.php");
session_start();
$objLogIn = new CLogIn();
if ($_REQUEST["FormID"]="Login")
$message="";
$_SESSION["Login"]=false;
if (($_REQUEST["AdminName"]!="") && ($_REQUEST["AdminPasswort"]!="") && ($_REQUEST["Bestätigen"]=="Bestätigen"))
{
$state = $objLogIn->checkLogInData($_REQUEST["AdminName"],$_REQUEST["AdminPasswort"]);
if (is_array($state))
{
$_SESSION["Login"]=true;
header("Location: Prototyp-Admin-Bereich.php");
exit();
}
else
{
$message = "Anmeldung fehlgeschlagen";
}
}
elseif ($_REQUEST["Abrechen"]=="Abrechen")
{
header("Location: Prototyp-Startseite2.php");
}
else
{
$message = "Geben Sie bitte Ihren Benutzernamen und Ihr Passwort ein.";
}
?>
.....
Mein Problem ist, das ich mich nicht anmelden kann. Habe ja in PHPMYADMIN ein Adminkonto erstellt. Kann jemand mit dem Quellcode was anfangen? Bin eigentlich kein Anfänger mehr, aber hier suche ich schon seit ein paar Tagen nach dem Problem.
Kommentar