# MYSQL Datenbank Login Android



## wer112 (20. Mrz 2021)

An alle: Dieser Code ist ein Open Source Code. Ihr könnt ihn gerne verwenden und verbessern. 

https://drive.google.com/drive/folders/1spAywlMqR7m_9xeVtXR0qLRGrIv6tkrQ?usp=sharing 

*Sie können den Code direkt bearbeiten, schließlich ist es ein Open Source Code....*

Zum Hauptpunkt: Ich möchte ein Android App machen mit einem simplen Login und Regestrierung.
Die Registrierung mit der App funktioniert einwandfrei.
Das Problem ist, das das Login nicht funktioniert. Wenn man in der Abfrage = '' hinschreibt: email = 'email@hh.de' und noch das Passwort, dann findet er es und gibt es erfolgreich Zurück. 

Es wäre schön, wenn jemand ihn "reparieren" kann, damit auch andere, die das gleiche Problem haben, den Code verwenden können. Deswegen soll der Code auch ein Open Source Code werden.

Meine weiteren Fragen: 

Wie bekomme ich was aus der Datenbank in die App und kann es verwenden? (Damit z.B. Sachen ausgelesen werden kann)

Ich werde bestimmt mehrere und verschiede Fragen haben, was ich in eigene Beiträge reinstellen werde.

Bitte helft mir, damit nicht nur mir, sondern auch anderen geholfen werden kann.
*
Ich danke euch schon mal vorraus!*


----------



## kneitzel (20. Mrz 2021)

Also das scheint erst einmal ein php Problem zu sein - das Backend ist ja in php geschrieben.

In login.php holst Du Dir email und passwort zwar in Variablen, aber die Abfrage ist immer:

```
$mysql_qry = "select * from member_data where email = 'email@email.de' and password = '123456';";
```

Also unabhängig von den Parametern wird immer diese email mit dem passwort geprüft.

Und dann das übliche: Ehe Du ein sql Statement so als String zusammen setzt: Schau dir prepared statements an - die gibt es auch in php!


----------



## wer112 (20. Mrz 2021)

kneitzel hat gesagt.:


> Also das scheint erst einmal ein php Problem zu sein - das Backend ist ja in php geschrieben.
> 
> In login.php holst Du Dir email und passwort zwar in Variablen, aber die Abfrage ist immer:
> 
> ...


Und was soll ich jetzt machen? Natürlich müss das ja raus. Aber wenns drausen ist, kommt: "Login stimmt nicht" raus. ich habe schon vieles ausprobiert. Können Sie dies richtig machen?


----------



## kneitzel (20. Mrz 2021)

Ich habe nicht vor, mich mehr als notwendig mit php zu beschäftigen. Daher werde ich da nicht am Code rumbasteln.

Bezüglich prepared statement wäre https://www.w3schools.com/php/php_mysql_prepared_statements.asp zu nennen.

Damit da nicht nur html Seiten sondern mal ein REST Webservice entstehen könnte, wäre evtl. so etwas interessant:








						How To Create A Simple REST API in PHP - Step By Step Guide!
					

This post will teach you how to create a simple REST API in PHP. This source code will be used for our series of JavaScript programming tutorials.




					codeofaninja.com
				




Ich selbst würde da aber empfehlen, sich am Anfang auf nur eine Sprache zu konzentrieren. Da könnte man z.B. komplett bei Java bleiben und sich dann erste Tutorials zu Spring REST Webservice anzusehen oder so. Gerne ach einfach Java EE / Jakarta EE. Oder einfach ein Lernmittel Deiner Wahl nutzen (Ich greife gerne zu Büchern aber udemy hat da bestimmt auch Kurse zu, die man günstig bekommen kann ... Durch so eine Konzentration hast Du eher die Chance, es von Anfang an richtig zu machen. (Ohne Dir zu nahe zu kommen oder dich kritisieren zu wollen: Der Ansatz macht einen wenig ausgereiften Eindruck, so dass ich da schauen würde, wie man den Umfang erst einmal eingrenzen kann um dann die notwendigen Technologien zu erarbeiten. Wobei Java/Jakarta EE oder Spring schon eine deutliche Ausweitung sind was die Komplexität angeht. Aber diese Ausdehnung ist aus meiner Sicht durchaus notwendig und bietet dann auch eine entsprechende Vertiefung ...

Und noch ein Hinweis:
Falls Du ein konkretes Produkt planst: Das Thema Nutzerverwaltung mit Registrierung, Anmeldung und so ist etwas, das ich heute nie selbst schreiben würde! Das ist ja von der Sicherheit her kritisch und daher würde ich da immer auf fertige Libraries setzen oder gar Produkte einsetzen wie https://www.keycloak.org/ und dann nur noch auf dies zuzugreifen.

Neben der eigentlichen Sicherheit (Du speicherst z.B. das Passwort im Klartext - etwas, das man absolut nicht machen sollte) kommt da auch der Punkt Features mit rein. Es gibt im Nu weitere Anforderungen a.la.
- ein Betrieb möchte seine bisherige Nutzerverwaltung mit nutzen (AD, OpenID, was auch immer)
- User wollen sich mit Google, Microsoft, Facebook, was auch immer anmelden können ....
- Single Sign On 
- ...

Daher ist die Frage, was Du da genau aus welchem Grund entwickeln möchtest. Es gibt fertige Software, die hier vieles bietet. Gerade auf Android Clients ist z.B. die Anmeldung per Google Account fast Standard.


----------

