PHP - Auslesen und wiedergeben aus Datenbank

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • PHP - Auslesen und wiedergeben aus Datenbank

      Hallo,
      ich bin im Team eines Game Servers, wir haben ein Forum,
      nun habe ich eine nette Idee gehabt, und zwar:
      Wenn man sich im Forum als User eingeloggt hat,
      kann man sich nochmal mit seinen Ingame Account einloggen,
      das man so zu sagen Verknüpft ist.
      Nun sollte man sich einloggen können, in einer zweiten MySQL Datenbank,
      sobald man sich eingeloggt hat, werden Informationen wiedergegeben:
      Name:
      Zeit:
      ...

      Nun bräuchte ich einen Einloggscript, in einer zweiten MySQL Datenbank,
      sobald man sich eingeloggt hat, werden die Informationen aus der DB ausgelesen und wiedergegeben.

      Hat jemand so einen Script? Oder könnte ihn mir coden, bzw. vielleicht hilfreiche Links geben.
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Okey,
      habe nun einen Script gefunden, wo ich was auslese und wiedergebe, nun meine Frage:

      PHP-Quellcode

      1. <?php
      2. //mit Datenbank verbinden...
      3. $connect = mysql_connect($dbhost,$dbuser,$dbpwd) or die ("Keine Verbindung mˆglich...");
      4. mysql_select_db($dbname,$connect) or die ("Die Datenbank Existiert nicht...");
      5. //tabellenkopf
      6. echo "<table width=\"300\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
      7. echo " <tr>\n";
      8. echo " <td width=\"250\">Text";
      9. echo " </td>\n";
      10. echo " <td width=\"50\">Beispiel";
      11. echo " </td>\n";
      12. echo " </tr>\n";
      13. //datenbankabfrage
      Alles anzeigen

      $abfrage="SELECT * FROM ? ORDER BY `?` ASC";

      PHP-Quellcode

      1. $ergebnis=mysql_query($abfrage);
      2. //auswertung
      3. if(mysql_nom_rows($ergebnis) > NULL)
      4. {
      5. while($ausgabe=mysql_fetch_array($ergebnis))
      6. {
      7. //ausgabe der Tabelle
      8. echo " <tr>\n";
      9. echo " <td>".$ausgabe[kuerzel-test]." (".$ausgabe[name-test].")\n";
      10. echo " </td>\n";
      11. echo " <td>".$ausgabe[beispiel]."\n";
      12. echo " </td>\n";
      13. echo " </tr>\n";
      14. }
      15. }
      16. echo "</table>\n";
      17. // Datenbank Verbindung schließen
      18. mysql_close($connect);
      19. ?>
      Alles anzeigen
      Bei den DICK GEDRUCKTEN, was kommt dort bei den "?" hin?

    • Hilfe beim Googlen brauchte ich so gesehen nicht, ich brauchte nur Hilfe für einen Script, was ich hier bekommen habe...
      Am Login Script werde ich demnächst erst rumbasteln, ...



      Edit:
      Wie heißt der SQL Code, wenn man
      in der Tabelle userdata, in der Spalte Name nach Assaki sucht?
      So funktioniert es nicht:

      $sql = "SELECT * FROM `userdata` WHERE 'Name' = 'Assaki'";



      Edit:
      Geschafft :)





      Jetzt das Login System
    • Assaki;265763 schrieb:

      Habe eine kleine Pause gemacht, nun geht es weiter.
      Ich habe ein Problem, und zwar ist hier ein Syntax Error:

      $salt = mysql_query("SELECT `Salt` FROM `players` WHERE Name = '$username' LIMIT 1, 1");

      Ich finde da aber keinen Fehler?


      PHP-Quellcode

      1. $salt = mysql_query("SELECT 'Salt' FROM 'players' WHERE Name LIKE '".$username."' LIMIT 1, 1");
    • Nach wie vor, ein Syntax Error:
      Parse error: syntax error, unexpected T_VARIABLE in /data/multiserv/users/636071/projects/1556140/www/PHP/auth.php on line 10
      Hier mal der Codeausschnitt:

      PHP-Quellcode

      1. <?php
      2. session_start(); // Create the session, Ready for our login data.
      3. $username = $_POST["name"]; // Gets the username from the login.php page
      4. $password = $_POST['passwort']; // Gets the plain text password.
      5. // Connect to your database
      6. mysql_connect("localhost", "USER", "PW") or die(mysql_error())
      7. $salt = mysql_query("SELECT 'Salt' FROM 'players' WHERE Name LIKE '".$username."' LIMIT 1, 1"); // our random string of text for our password salt ( I will talk about this at the end. )
      8. // Add some salt to the users password.
      9. $salt .= $password; // The password is now: Salt_PLUS_THE_USERS_PASSWORD
      10. $password = $salt; // Change the password var to contain our new salted pass.
      11. // Encrypt the password. ( md5 it )
      12. $password = md5($password); // our password is now encrypted. ( cannot be reversed on a rainbow table as we have a secret salt also.. )
      13. ?>
      Alles anzeigen
    • PHP-Quellcode

      1. <?php
      2. session_start(); // Create the session, Ready for our login data.
      3. $username = $_POST["name"]; // Gets the username from the login.php page
      4. $password = $_POST['passwort']; // Gets the plain text password.
      5. // Connect to your database
      6. mysql_connect("localhost", "USER", "PW") or die(mysql_error()); // <- da fehlte das Semikolon...
      7. $salt = mysql_query("SELECT 'Salt' FROM 'players' WHERE Name LIKE '".$username."' LIMIT 1, 1"); // our random string of text for our password salt ( I will talk about this at the end. )
      8. // Add some salt to the users password.
      9. $salt .= $password; // The password is now: Salt_PLUS_THE_USERS_PASSWORD
      10. $password = $salt; // Change the password var to contain our new salted pass.
      11. // Encrypt the password. ( md5 it )
      12. $password = md5($password); // our password is now encrypted. ( cannot be reversed on a rainbow table as we have a secret salt also.. )
      13. ?>
      Alles anzeigen

      Du hast das Semikolon in Zeile 8 vergessen :)
    • Kurze Nachricht von mir noch als Hinweis.
      Was Sento gepostet hat, war zwar richtig, aber ich wollte mal noch eben hinzufügen, dass deder Code von Assaki soweit auch funktioniert hätte, wenn das Semikolon nicht vergessen worden wäre :)
      Liegt nämlich daran, dass PHP Variablen in Strings, die mit "" umschlossen sind, automatisch parst und deren Inhalt ausgibt.
      Das nur zur Vorbeugung von Verwunderung und so
    • internetfreak;265791 schrieb:

      Kurze Nachricht von mir noch als Hinweis.
      Was Sento gepostet hat, war zwar richtig, aber ich wollte mal noch eben hinzufügen, dass deder Code von Assaki soweit auch funktioniert hätte, wenn das Semikolon nicht vergessen worden wäre :)
      Liegt nämlich daran, dass PHP Variablen in Strings, die mit "" umschlossen sind, automatisch parst und deren Inhalt ausgibt.
      Das nur zur Vorbeugung von Verwunderung und so


      Das ist doch gewollt, oder hab ich da was nicht mitbekommen?
    • Ich habe es geschafft, nachdem ich den Teil ausgeklammert habe:
      [code=php]
      while($row = mysql_fetch_array($result)){
      $resusername = $row['username']; // username from DB
      $respassword = $row['password']; // password from DB

      }

      // Are they a valid user?
      ///if ($respassword == $password) {
      // Yes they are.
      // Lets put some data in our session vars and mark them as logged in.
      /// $_SESSION['loggedin'] = "1";
      /// $_SESSION['username'] = $resusername;
      /// echo "Congrats, Your logged in"; // YAY
      ///}else{
      // No, Lets mark them as invalid.
      /// $_SESSION['loggedin'] = "0";
      /// echo "Sorry, Invalid details"; // Nay
      ///}

      ?>


      </body>
      </html>
      [code=php]

      Was bringt der Teil? Den verstehe ich nicht so ganz...
    • Der Teil nimmt sich die Ergebnisse aus der DB, vergleicht die Daten, die der User eingegeben hat mit denen, aus der DB und setzt bei Bedarf ne gültige Sessionvariable, damit du die nutzen kann als Check, ob man eingeloggt ist
      Sollten sie nicht stimmen, wird die Sessionvariable "ungültig" gemacht, so dass du daran prüfen kannst, ob der User eingeloggt ist oder so
    • Assaki;265812 schrieb:

      Ich habe es geschafft, nachdem ich den Teil ausgeklammert habe:
      [code=php]
      while($row = mysql_fetch_array($result)){
      $resusername = $row['username']; // username from DB
      $respassword = $row['password']; // password from DB

      }

      // Are they a valid user?
      ///if ($respassword == $password) {
      // Yes they are.
      // Lets put some data in our session vars and mark them as logged in.
      /// $_SESSION['loggedin'] = "1";
      /// $_SESSION['username'] = $resusername;
      /// echo "Congrats, Your logged in"; // YAY
      ///}else{
      // No, Lets mark them as invalid.
      /// $_SESSION['loggedin'] = "0";
      /// echo "Sorry, Invalid details"; // Nay
      ///}

      ?>


      </body>
      </html>
      [code=php]

      Was bringt der Teil? Den verstehe ich nicht so ganz...


      Je nach Definition ist eine Sitzung etwas, was über einen längeren Zeitraum andauert. In unserem Fall könnte man z.B. Denken es ist damit der Zeitraum zwischen Beginn und Ende der Internetbenutzung, die an einem Stück stattfindet. Wenn man jetzt vom Flatrate-Verhalten absieht könnte z.B. die Internetnutzung an der Arbeit um 9:00 Beginnen und um 12:00 enden. Diesen Zeitraum nennt man dann... (weiterlesen)