Zum Inhalt springen

PHP: Login Überprüfung aus Datenbank


Empfohlene Beiträge

Hi,

ich hoffe ihr könnt mir weiterhelfen, da ich erst mit php angefangen habe.

Ich habe mir ein kleines Script fürs Einloggen geschrieben. Bis jetzt vergleiche ich aber so:

if ($username == 'benjamin' && $passwort == 'geheim') {

       $_SESSION['angemeldet'] = true;

Ich habe mir xampp heruntergeladen und dort auch eine Tabelle User angelegt. Jetzt möchte ich nicht mehr wie oben vergleichen, sondern über diese Tabelle. Ich bekomm es einfach net hin. :(

Kann mir einer helfen???

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

gut ;) was du möchtest ist eindeutig formuliert. Allerdings geht es hier um "Grundlagen"

Wenn du Xampp Installiert hast und eine Datenbank eingerichtet hast, sollte dir der Begriff "Mysql" eigentlich schon was sagen.

Normaler weg währe also PHP: Hypertext Preprocessor oder eine suchmaschine deiner wahl mit den stichwörtern "PHP" und "MYSQL"

auf PHP: Hypertext Preprocessor allein solltest du schon alles finden was nötig ist.

Falls noch Probleme auftreten, wieder fragen. Aber am besten erstmal selbst knobeln.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kann mir einer helfen???

Ein grobes Schema sieht so aus:

Die Usertabelle in der DB benötigt mindestens den Usernamen und das (verschlüsselte) Passwort.

Zur Überprüfung, ob der User berechtigt ist, prüfst Du mit dem eingegebenen Benutzernamen und dem Passwort, ob die Kombination so in der Tabelle vorhanden ist. Wenn die Kombi gültig ist, dann setzt Du Deine entsprechende Session-Variable.

Dazu hast Du zwei Möglichkeiten:

1. Du selektierst mit dem Usernamen auf die Usertabelle (*1) und prüfst, ob das (verschlüsselte) eingegebene Passwort gleich dem (verschlüsselten) Passwort aus der Datenbank ist. Findest Du keinen Satz, ist der Username falsch geschrieben, findest Du einen Satz, aber das Passwort stimmt nicht, ist der Fehler da.

2. Da ich dem User aus Sicherheitsgründen beim Login immer nur mitteile, dass etwas falsch ist, aber nicht, was falsch ist, selektiere ich direkt mit Username und Passwort (*2) und gebe, sofern kein Satz gefunden wurde, die entsprechende Meldung aus. Wenn ein Satz gefunden wurde, weiss ich, dass die Eingaben passen, und gebe den Weg frei. Somit spare ich mir die separate Prüfung des Passworts.

Pseudo-SQL-technisch sieht das so aus:


*1:

Select passwort from usertabelle where user = '$user';


*2:

Select count(*) from usertabelle where user = '$user' and passwort = md5('$passwort');

HTH,

ICQ

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn du es dann noch etwas komfortabler für den Benutzer machen willst und Groß- und Kleinschreibung nicht beachtest (manchmal gewollt, aber für sowas wirklich sinnvoll?):



*2:

Select count(*) from usertabelle where upper(user) = upper('$user') and passwort = md5('$passwort');

Pseudo-SQL-Technisch

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...