Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Administrator-Login

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Administrator-Login

    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.


  • #2
    benutz doch bitte die PHP Tags das macht das ganze übersichtlicher
    Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

    Kommentar


    • #3
      Zitat von HStev
      benutz doch bitte die PHP Tags das macht das ganze übersichtlicher
      nicht wirklich LOL
      Klick mich


      Kommentar


      • #4
        Sorry, aber ich nutze sonst nie Foren. Muss ich erst auf den PHP Button klicken. Dann den Quellcode von Zend reinkopieren und dann wieder auf den PHP Button klicken?

        Kommentar


        • #5
          ja aber zur zeit ist das nicht empfehlenswert weil das forum einen bug hat.
          Klick mich


          Kommentar


          • #6
            Kannst auch markieren und dann den Button drücken dann wird der Text automatisch in die Tags gebracht.
            Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

            Kommentar


            • #7
              Na ja wie dem auch sei. Ich bekomme jedes mal wenn ich mich einloggen will, die Nachricht "Anmeldung fehlgeschlagen". Die Quellcodes von CLogin und der Loginseite habe ich von einem Vorgängerprojekt. Dort funktionierte er. Habe nur ein paar Dinge geändert (SQL-Anweisung da die Tabelle und Spalten anders heißen. Habe keine Ahnung was das Problem jetzt ist.

              Kommentar


              • #8
                tja nur wie du den Quelltext gepostes wird sich den niemand freiwillig antun weil ein bißchen Syntaxhighlighting wie die PHP Tags das machen ist da gleich viel übersichtlicher fürs Auge und den Code mal eben in PHP Tags zuverpacken ist nun wirklich nicht viel Editierarbeit.
                Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.

                Kommentar


                • #9
                  Bin ma so frei und tu mir des an (keine Änderung. Nur eingerückt und gehighlighted)

                  PHP-Code:
                  <?php
                    
                  require_once("konstanten.inc.php");

                    class 
                  CLogIn {
                      private 
                  $db null;
                      private 
                  $result null;
                      private function 
                  mysqlConnect() {
                        
                  $this->db = new mysqli(DBSERVERMYSQLUSERMYSQLPASSWORDDBNAME);
                        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-Code:
                  <?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.";
                    }
                  ?>

                  Kommentar


                  • #10
                    aber eine 2000px breite seite ist besser?
                    Klick mich


                    Kommentar


                    • #11
                      wow es geht ja sogar wieder *wunder*

                      nehme alles zurück
                      Klick mich


                      Kommentar


                      • #12
                        Ich versuch es mal. Der CLogincode zuerst:

                        PHP-Code:
                        <?php
                        require_once("konstanten.inc.php");
                        class 
                        CLogIn

                        {
                            private 
                        $db null;
                            private 
                        $result null;
                            
                            private function 
                        mysqlConnect()
                            {
                                
                        $this->db = new mysqli(DBSERVERMYSQLUSERMYSQLPASSWORDDBNAME);
                                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;
                            }
                            
                            
                            function 
                        selectAllRecords()
                            {
                                if (!(
                        $this->db instanceof mysqli )) $this->mysqlConnect();
                                
                        $sql "SELECT EintragsNr, GastName, Email, Land, Homepage, Eingangstext FROM eintrag WHERE eintrag. EintragsNr=1 ORDER BY eintrag.EintragsNr";
                                
                        $this->result $this->db->query($sql)
                                   or die(
                        "Abfrage fehlgeschlagen: 
                        "
                        .$sql."
                        "
                        .$this->db->error);
                                  
                            }
                            
                            
                            function 
                        getResult()
                            {
                                if (!(
                        $this->result instanceof mysqli_result )) return null;
                                
                                return 
                        $this->result;
                            }
                            
                            
                            
                            function 
                        deleteRecord (&$id)
                            {
                                if (! (
                        $this->db instanceof mysqli ) ) $this->mysqlConnect();
                                
                        $sql="Delete From `eintrag` Where `EintragsNr`='$id'";
                                
                        $this->db->query($sql)
                                    or die(
                        "
                        löschen fehlgeschlagen: 
                        "
                        .$sql."
                        "
                        .$this->db->error);
                            }
                            
                            function 
                        insertRecord (&$form)
                            {
                                if (! (
                        $this->db instanceof mysqli )) $this->mysqlConnect();
                                echo 
                        $sql"Insert Into eintrag"
                                      
                        ."(GastName, Email, Land, Homepage, Eingangstext)";
                                      
                                
                        $this->db->query ($sql)
                                   or die(
                        "
                        Insert fehlgeschlagen: 
                        "
                        .$sql."
                        "
                        .$this->db->error);
                            }
                            
                        }
                        ?>
                        und die Loginseite:

                        PHP-Code:
                        <?php
                        require_once("inc/konstanten.inc.php");
                        require_once(
                        "inc/clogin.inc.php");
                        session_start();

                        $objLogIn = new CLogIn();
                        $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.";
                        }
                        ?>

                        <html>
                        <head>

                        <title>Admin-Login</title>



                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
                        <body background="Heaven2.jpg" bgcolor="#FFFFCC">


                        <form method="POST" action="">

                        <table width="100%" border="0">
                        <tr>
                        <td></td>
                        <td align="right">Administrator-Login</td>
                        </tr>
                        </table>


                        </p>
                        <p align="left"></p>
                        <p align="left"></p>
                        <p align="left"></p>


                        <table border="1">

                        <tr height="16">
                        <td><div align="left">Benutzername:</div></td>
                        <td><input name="AdminName" type="text" value="" size="40">
                        </td>
                        </tr>
                        <tr height="16">
                        <td>Passwort:</td>
                        <td><input name="AdminPasswort" type="password" value="" size="40">
                        </td>
                        </tr>
                        </table>
                        PHP-Code:
                        <?php
                        echo (($message=="")?(""):("\n".$message)); 
                        ?>
                        <table border="0">
                        <tr>
                        <td>
                        <input name="Bestätigen" type="submit" value="Bestätigen">
                        </td>
                        <td>
                        <input name="Abrechen" type="submit" value="Abrechen">
                        </td>
                        </tr>
                        </table>
                        </form>
                        </body>
                        </html>

                        Kommentar


                        • #13
                          Wie geschrieben, habe in PHPMYADMIN ein Adminnamen und Passwort eingetragen. Doch diese werden nicht akzeptiert.

                          Kommentar


                          • #14
                            Zitat von md5hash
                            Zitat von HStev
                            benutz doch bitte die PHP Tags das macht das ganze übersichtlicher
                            nicht wirklich LOL
                            Du hast ja wohl auch nen Schaden oder? Deine Beiträge sind das letzte! Würde mich an deiner stelle nicht wundern, wenn du nen Ban bekommst

                            LG Chris

                            Zum Thread: Wenn du dir von Anfang an alles selber schreibst, machst du solche Fehler nicht!

                            Kommentar


                            • #15
                              Zitat von Sketty
                              Wie geschrieben, habe in PHPMYADMIN ein Adminnamen und Passwort eingetragen. Doch diese werden nicht akzeptiert.
                              Hast du beim Eintragen auch darauf geachtet, das Passwort durch die Funktion PASSWORD() zu jagen?

                              Kommentar

                              Lädt...
                              X