Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe bei PHP/MySQL-Account-system...

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe bei PHP/MySQL-Account-system...

    Hey,

    Ich habe mir kürzlich ein Login-Script besorgt (PHP/MySQL). Das funktioniert alles perfekt. Nur jetzt geht es weiter. Ich brauche deshalb etwas Hilfe bei einem Anmeldeformular und dabei, die seite eines anderes Users zu betrachten.

    Jetzt mal ein paar weiterführende Fragen:
    1.) Kennt jemand ein gutes fertiges Anmeldeformular oder ein einfaches Tut um eins zu erstellen?...
    2.) Gibt es auch eine Art Änderungsformular, um Angaben in der Datenbank zu verändern oder zu ergänzen?
    3.)Wie kann ich machen, dass man die Seite eines anderen Users betrachten kann, wenn man eingeloggt ist?


    Danke im Voraus für schnelle/hilfreiche Antworten...

    MFG Maxi

  • #2
    das ganze was du dir vorstellst ist schon relativ komplex...

    ein gutes anmeldeforumlar?
    PHP-Code:
    <h1>Anmeldung</h1><form action="deinezeilseite.php" method="post"><input type="text" name="username"><br><input type="password" name="password"><br><input type="submit" value="Login"></form
    Fertig

    zu 2.
    Glaube weniger.. aber kann schon sein, je nachdem wie umfangreich dein script ist.... denk aber musst du bestimmt selber schreiben, ansonsten nutze halt PHPMyAdmin und ändere die sachen die dir nicht passen...

    zu 3.

    ne eigene seite schreiben in der alle user aufgezählt werden und falls einer makiert wurde werden seine infos aus der db ausgelesen... das verbindest du dann z.b mit einer überprüfung ob der logincookie gesetzt ist
    Under Construktion

    Kommentar


    • #3
      Also, ich könnte das ja vllt so machen, dass ich in meine Seite eine kleine Suchmaschine einbaue, die je nach Stichwort die Ergebnisse anzeigt. Bei einem Klick auf ein Ergebnis werden die gesamten User-daten angezeigt. Wie könnte das funktionieren?

      MFG MAxi

      Kommentar


      • #4
        Zitat von maxikey Beitrag anzeigen
        Also, ich könnte das ja vllt so machen, dass ich in meine Seite eine kleine Suchmaschine einbaue, die je nach Stichwort die Ergebnisse anzeigt. Bei einem Klick auf ein Ergebnis werden die gesamten User-daten angezeigt. Wie könnte das funktionieren?

        MFG MAxi
        Na genau so wie du gesagt hast? Du machst ne Suche und die Usernamen die gefunden werden haben einen Link mit ID-Übergabe per GET auf eine definierte Detailseite wo du anhand der ID die Informationen zu dem User anzeigst

        Kommentar


        • #5
          Zitat von cycap Beitrag anzeigen
          einen Link mit ID-Übergabe per GET auf eine definierte Detailseite
          Aha? Aber woher kommt der link? Ich kann ja nicht für jeden User ne neue eigene Seite erstellen...
          Kannst du das erläutern?

          Kommentar


          • #6
            Ein Beispiel:

            Link auf die Detailseite wäre zum Beispiel: http://domain.com/detailseite.php?userid=25

            Wird der Link so aufgerufen kannst du per $_GET["userid"] die ID rausbekommen und einfach die Daten des Users aus der Datenbank abfragen.

            Wenn du noch fragen hast stell die bitte genauer und zeige mal deinen Lösungsansatz.

            Kommentar


            • #7
              Da ich heute gute Laune habe, werde ich den Vorschlag von Cycap mal etwas ausführen ^^

              user-table (stark vereinfacht)

              ID username
              1 test
              2 l33t
              3 rofl

              Nun baust du dir ein Script "liste.php". Der Pseudo-Pseudo-Code dieses Scripts:

              1) SQL-Query: Alles rausholen ^^
              2) Für jeden Datensatz eine Zeile (mit einer Schleife leicht realisierbar)
              3) Speichere die ID des Datensatzes in eine lokale Variable $ID
              4) Verlinkung der Zeile:
              <a href='userdetails.php?ID=$ID'>LINK</a>
              Dies bewirkt, dass du ein anderes Script aufrust, mit dem Parameter ID,
              welche du aus der Datenbank beziehst.

              Baue dir ein script "userdetails.php":

              1) $ID = $_GET['ID']; // Damit setzt du den Übergabeparameter in eine lokale Variable (arbeitet sich einfacher im Code mit lokalen Variablen als mit Server-Variablen - ist aber Geschmackssache).
              2) SQL-Query: Hole alle Datensätze aus der DB, welche als ID den übermittelten Wert haben (jetzt sollte es klick machen).
              3) Gib die Daten aus oder mach was du sonst machen willst damit

              Kommentar


              • #8
                OK! Bloß...woher kommt dieser Link? Wie wird der erstellt? Denn, wenn ich mich anmelde, dann muss die Seite "blabla.de/detailseite.php?userid=25" ja erst erstellt werden...

                Kommentar


                • #9
                  Ich glaub du solltest dir erstmal übers Prinzip von PHP und MySQL klar werden, denn wenn du nach der erklärung so eine Frage stellst hast du das Prinzip nicht verstanden

                  EDIT:

                  Ich will mal nicht so sein und schnell etwas Code aus dem Ärmel schütteln:

                  liste.php

                  PHP-Code:
                  $sql "SELECT username,userid FROM usertable";
                  $qry mysql_query($sql) or die(mysql_error());

                  while(
                  $usr mysql_fetch_object($qry))
                  {
                    echo 
                  "$usr->username ";
                    echo 
                  "<a href=\"details.php?userid=$usr->userid\">Detailseite</a><br>";

                  details.php

                  PHP-Code:
                  $sql "SELECT vorname,nachname,gebdat FROM usertable WHERE userid = '".mysql_real_escape_string($_GET["userid"])."'";
                  $qry mysql_query($sql) or die(mysql_error());

                  while(
                  $usr mysql_fetch_object($qry))
                  {
                    echo 
                  "Vorname: $usr->vorname <br>";
                    echo 
                  "Nachname: $usr->nachname <br>";
                    echo 
                  "Geburtstag: $usr->gebdat <br>";

                  Der Code ist wie gesagt ausm Ärmel geschüttelt, also auch nicht getestet.

                  In diesem Sinne HF

                  Kommentar


                  • #10
                    DANKE!!! Du hast mir wirklich sehr, sehr geholfen...

                    ...weiter im Text. Zum Punkt: Anmeldeformular hab ich hier mal eine Test.PHP geschrieben...einfach um die Technik zu testen:

                    PHP-Code:
                    <?php

                    $userid
                    ="3";
                    $vorname="bla";
                    $nachname="blabla"
                    $gebdat="01.06.03"

                    require("mysql.connect.php");

                    mysql_query('INSERT INTO test (userid, vorname, nachname, gebdat) VALUES ($userid, $vorname, $nachname, $gebdat);') OR die(mysql_error());

                    ?>
                    1.Könnt ihr mir bitte sagen, was der Fehler daran ist?...Das funktioniert einfach nicht...

                    2.Wenn ich später das Formular dazu schreibe, wie mache ich dann, dass die UserID automatisch eingetragen wird?

                    MFG Maxi

                    Kommentar


                    • #11
                      Du musst '...' um Strings setzen.
                      Ein echo mysql_error() bewirkt manchmal Wunder, aber die Funktion kennt ja niemand.
                      Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                      Kommentar


                      • #12
                        Die Funktion kennt man schon, das Problem ist, dass die zurückgegebenen Fehlermeldungen alles andere als intuitiv sind. Man muss schon wissen, dass der Fehler genau vor dem von mysql_error() zurückgegebenen Fehlerstring ist, sonst nützt einem die Fehlermeldung nicht viel ausser dass man wenigstens weiss, dass es am Query liegt.

                        Zu deinem anderen Problem mit der UserID: Wenn du in der Datenbanktabelle der UserID-Spalte das "auto_increment" Attribut zuweist, wird die ID automatisch bei einem neuen Eintrag erhöht und eingetragen. Dann kannst du das beim INSERT einfach weglassen.

                        Kommentar


                        • #13
                          Dankeschön!!!

                          Kommentar


                          • #14
                            Ok...mein Code sieht jetzt so aus:

                            PHP-Code:
                            <?php 

                            $userid
                            ="3"
                            $vorname="bla"
                            $nachname="blabla" 
                            $gebdat="01.06.03" 

                            require("mysql.connect.php"); 

                            mysql_query('INSERT INTO test ( 'userid', 'vorname', 'nachname', 'gebdat') VALUES ( '$userid', '$vorname', '$nachname', '$gebdat');') OR die(mysql_error()); 

                            echo 
                            mysql_error()

                            ?>
                            ... allerdings glaube ich das da noch irgendwo vllt ein ' oder so fehlt...Der Code funktioniert nämlich immer noch nicht...


                            MFG Maxi

                            Kommentar


                            • #15
                              Und wie wäre es, wenn du das SQL-Statement selbst in Doublequotes ("...") setzt? Du siehst doch schon am Highlighting, dass das nicht so gehen kann.
                              Im Übrigen gehören nur die Strings in Hochkommata. Die Spaltennamen sind in Backticks (`...`) oder nüscht zu setzen.
                              Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

                              Kommentar

                              Lädt...
                              X