Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Login Daten bezogen aus einem Array in einer PHP

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Login Daten bezogen aus einem Array in einer PHP

    Wenn das hier nicht hin gehört bitte nicht böse sein ich bin noch neu und habe ein Problem das mich schon länger beschäftigt.

    Es geht um folgendes:
    Auf meiner neuen Seite die teilweise aus einem Vorgegebenen System besteht, werden die Daten für den Login aus einem Array bezogen das wie folgt aufgebaut ist:

    PHP-Code:
    $user_passwords = array(
    'user1' => 'md5:password',
    'user2' => 'md5:password',
    ); 
    Und die Registrierung erfolgt über eine andere php die ich selbst erstellt habe, diese speichert username und passwort in einer Tabelle namens login.

    Was heißt, dass ich bis jetzt theoretisch jedesmal wenn sich jemand anmeldet die Daten per Hand aus der MySQL Tabelle in die erste php kopieren müsste.

    Jetzt ist meine Frage: Wie kann ich die Daten aus der Tabelle in das Array in der php übergeben so dass ich das nicht mehr muss?


  • #2
    Das klingt recht umständlich und unnötig, warum kannst du nicht einfach das Loginsystem gleich auf Datenbanknutzung umschreiben?
    Ansonsten: http://de2.php.net/var_export
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Ich weiß das es sehr umständlich ist aber das System ist so vorgegeben das wäre zu viel Arbeit das komplett zu ändern.
      Normalerweise ist es nicht für viele Nutzer gemacht deshalb ist das so geregelt aber ich wollte es halt etwas größer machen und die vorgegebenen Sachen nur minimal ändern...

      Kommentar


      • #4
        Zitat von RezePoge Beitrag anzeigen
        Normalerweise ist es nicht für viele Nutzer gemacht deshalb ist das so geregelt aber ich wollte es halt etwas größer machen und die vorgegebenen Sachen nur minimal ändern...
        Ein großes Feature bedarf nunmal auch große Änderungen. Mach dir einmal die arbeit, dann kannst du nachher auch einfacher noch andere Features einbauen, die darauf aufbauen, ohne über ne Handvoll Workarounds zu gehen.

        Falls du dennnoch den umständlichen Weg gehen möchtest: Oben hab ich dir den link zu einer Funktion geschickt, die Abfrage aus der Datenbank solltest du selbst hinbekommen. Das ganze dann noch in ner Datei speichern, fertig.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Sorry aber mit dem Link kann ich nicht viel anfangen.
          Ich beschäftige mich erst seit kurzem damit und weiß nicht so recht das ich davon wie einsetzen muss für meinen Fall.
          Es muss ja alles über das Array un der Variable stehen damit das System darauf zugreifen kann.
          Die Datei in der das Array ist ist nur eine config.php in der nur Daten stehen die von anderen Teilen des Systems abgerufen werden...

          Kommentar


          • #6
            var_export() ?

            Wie wäre es einfach damit:


            PHP-Code:

            // DB Abfrage und in $users speichern

            $user_passwords = array();

            foreach(
            $users as $user => $pw){
                
            $user_passwords[$user] = $pw;

            Die mysql_* Erweiterung ist veraltet!
            Besser: mysqli_* oder (noch besser) PDO

            Kommentar


            • #7
              So wie ich den Ausgangspost verstanden habe sind das zwei voneinander getrennte Systeme.

              Sprich System 1 mit Datenbankanbindung und co. und System 2 ohne Zugriff auf die Datenbank.

              var_export ist da vermutlich eine der "besseren" Lösungen.
              Zitat von nikosch
              Naja, anscheinend spricht die Steckdose kein HTTP. LOL

              Kommentar


              • #8
                Zitat von Suralc Beitrag anzeigen
                Sprich System 1 mit Datenbankanbindung und co. und System 2 ohne Zugriff auf die Datenbank.
                Er hat erstmal nur gesagt dass er mit dem einen System die Registration regelt und das andere vorgegeben ist und für das Login. Vielleicht kann er in letzterem ja doch die Query unterbringen.
                Er muss ja nicht unbedingt mit dem System, mit dem er die Registration in der DB speichert, sie auch wieder rausholen.
                Wir werden sehen
                Die mysql_* Erweiterung ist veraltet!
                Besser: mysqli_* oder (noch besser) PDO

                Kommentar


                • #9
                  Zitat von RezePoge Beitrag anzeigen
                  Was heißt, dass ich bis jetzt theoretisch jedesmal wenn sich jemand anmeldet die Daten per Hand aus der MySQL Tabelle in die erste php kopieren müsste.

                  Jetzt ist meine Frage: Wie kann ich die Daten aus der Tabelle in das Array in der php übergeben so dass ich das nicht mehr muss?
                  Hier liegt bereits der Pferdefuß. Redundate Daten bzw. Quellen.

                  Wie meine Vorposter bereits bemerkt haben, werd dieses Array los.. Schreib ein Script, das die Daten aus der DB ausliest und die Daten in die (für dieses erste Script) verwertbare Format bringt.
                  Oder hast du von Script 1 aus keinen Zugang zur Datenbank?
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Also erstmal Sorry dafür das ich zu undeutlich beschrieben habe. Es handelt sich nur um getrennte "Untersysteme" die aber alle in form vieler phps auf einem Server liegen.
                    Die Lösung von nameless97 werde ich morgen mal testen. Vielen Dank schonmal ich melde mich dann morgen ob es klappt.
                    Noch eine Frage steht das $user und das $pw für die namen der Spalten in der Tabelle?
                    Weil die Daten ja aus der Datenbank kommen sollen. Sie sind ja nicht in der php deklariert. Sorry aber ich steh aufm Schlauch...

                    Kommentar


                    • #11
                      Nein, Du stehst nicht auf dem Schlauch, Du hast schlicht keine Ahnung.
                      Ich beschäftige mich erst seit kurzem damit und weiß nicht so recht das ich davon wie einsetzen muss für meinen Fall.
                      Wenn Du das nicht hinbekommst, fummel halt nicht am Anmeldesystem rum.
                      --

                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                      --

                      Kommentar


                      • #12
                        Zitat von RezePoge Beitrag anzeigen
                        Noch eine Frage steht das $user und das $pw für die namen der Spalten in der Tabelle?
                        Schau dir an wie Datenbankabfragen funktionieren (bitte mysqli oder PDO) und was ein arrays sind und wie man damit umgeht. Dann sollte die Frage selbstbeantwortend sein.
                        Die mysql_* Erweiterung ist veraltet!
                        Besser: mysqli_* oder (noch besser) PDO

                        Kommentar


                        • #13
                          Also ich habe es jetzt wie folgt geregelt:

                          PHP-Code:
                          $verbindung mysql_connect("localhost""reze_link" "*pass*"
                          or die(
                          "Verbindung zur Datenbank konnte nicht hergestellt werden"); 

                          mysql_select_db("reze_link") or die ("Datenbank konnte nicht ausgewühlt werden"); 
                          $sql "SELECT * FROM login";
                          $result mysql_query($sql);

                          $reze_user_passwords = array();

                          while (
                          $row mysql_fetch_assoc($result)) {
                             
                          $reze_user_passwords $row["username"] => $row["passwort"]; 
                          Das klappt aber nicht dann wird jede Seite des Systems das vorgegeben ist einfach weiß angezeigt.
                          Es scheint ein Verbindungsproblem zu sein aber ich weiß es nicht genau...

                          Kommentar


                          • #14
                            Der Code sagt schon alles...
                            Bitte: http://www.php.de/php-einsteiger/489...rundlagen.html
                            Zitat von nikosch
                            Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                            Kommentar


                            • #15
                              Den Code habe ich nicht selbst geschrieben ich habe jemanden gefragt der es dann für mich gemacht hat...
                              Es ist ein Lehrer von meiner Schule...

                              PHP-Code:
                              $verbindung mysql_connect("localhost""reze_link" "*pass*"
                              or die(
                              "Verbindung zur Datenbank konnte nicht hergestellt werden"); 

                              mysql_select_db("reze_link") or die ("Datenbank konnte nicht ausgewühlt werden"); 
                              $sql "SELECT * FROM login";
                              $result mysql_query($sql);

                              $reze_user_passwords = array();

                              while (
                              $row mysql_fetch_assoc($result)) {
                                 
                              $reze_user_passwords $row["username"] => $row["passwort"];  

                              Kommentar

                              Lädt...
                              X