# Retrive Password from HTML-Form



## SuAsesino (18. Nov 2015)

Hallo Zusammen,

Wie im Titel erklärt, möchte ich eine Anmeldeseite mithilfe von HTML, CSS, JavaScript und PHP erstellen.
So habe ich ein Formular, mit method="post", erstellt und die jeweiligen Eingaben auf ihre Korrektheit mittels JavaScript kontrolliert.
Nun möchte ich die Eingaben mittels PHP auslesen und in eine Datenbank schreiben (MYSQL).

Meine HTML Form ist wie folgt aufgebaut:
http://www.fotos-hochladen.net/view/unbenanntxc523l1g8n.png
Mein PHP wie folgt:
http://www.fotos-hochladen.net/view/unbenannt2qn8rei4ay9.png
Und das Resultat:
http://www.fotos-hochladen.net/view/unbenannt364ypfom51b.png

Ich verstehe nicht warum da der Name des Feldes ausgelesen wird.
Könnt ihr mir helfen?

PS: Das Thema sollte in den Bereich "Andere Sprachen", ist mir aus versehn in Java gerutscht, wie kann ich das ändern, ich bin neu!

Freundliche Grüsse


----------



## Thallius (18. Nov 2015)

Bitte schreibe Deinen Code in Code-Tags 

Die Ausgabe einer PHP Variablen sollte ohne " erfolgen. Warum pw1 und pw2 unbekannte index sind weiß ich nicht, ich denke da fehlt was an Code den Du uns vorenthälst.

Gruß

Claus


----------



## SuAsesino (18. Nov 2015)

Thallius hat gesagt.:


> Bitte schreibe Deinen Code in Code-Tags
> 
> Die Ausgabe einer PHP Variablen sollte ohne " erfolgen. Warum pw1 und pw2 unbekannte index sind weiß ich nicht, ich denke da fehlt was an Code den Du uns vorenthälst.
> 
> ...



Erstmal danke für deine Hilfe, trotz falscher Einsortierung des Beitrages.
Ich habe nun die Ausgabe ohne "" geschrieben, funktioniert wie folgt nicht.
Auch der ganze PHP Code ist diesmal dabei 
http://www.fotos-hochladen.net/view/unbenannt4kwei7ujvyf.png
http://www.fotos-hochladen.net/view/unbenannt56ragxtc1qy.png

Gruss


----------



## Joose (18. Nov 2015)

Ist das hier ein Java Forum und ich sehe hier keine Java bezogene Frage *=> Java != JavaScript*
Kannst du den Code hier auch zwischen [ CODE]-Tags schreiben, damit machst du es uns einfacher dir zu helfen. (keiner ist gewillt Code von einem Screenshot abzushreiben)
Natürlich gibt es vielleicht jemanden der dir helfen kann und will


----------



## Delta Roh (26. Nov 2015)

Ohne die code tags ist das wirklich blöd....
Aber: Ein genereller Fehler bei dir liegt in der Anwendung von den mysql querys.
Beispiel:

```
$result = mysql_query("SELECT ID FROM login WHERE username LIKE '$username'");
```
sucht nach dem Feld "ID" in der Tabelle "login" wo der "Username=$username" ist - $username stellt in deinem Fall nicht die Variable dar, sondern ist explizit das wonach du suchst.
Die korrekte Formatierung wäre

```
$result = mysql_query("SELECT `ID` FROM `login` WHERE `username`='".$username."'");
```
Merke: Um eine Variable in einen text einzufügen musst du bei der Nutzung von php den Text unterbrechen, einen Punkt setzen, die Variable hinschreiben, einen weiteren Punkt setzen und dann den Text fortführen...
Das  gleiche machst du zb auch bei der Speicherung des accounts, diese sollte so aussehen:

```
$eintrag = "INSERT INTO `login` (`username`, `password`) VALUES ('".$username."', '".$passwort."')";
$eintragen = mysql_query($eintrag);
```
Unterschied:
neu: '".$passwort."'   -  alt '$passwort'
Deins Bedeutet der Text "$passwort", das neue bedeutet: "Das was die Variable $passwort als Wert/Text zugewiesen hat".


PS: abgesehen davon finde ich es kritisch das passwort gleich zu Beginn mit "trim" zu bearbeiten. Das ändert das Passwort definitiv, es ist schließlich (auch sicherheitstechnisch) ein riesen Unterschied ob mein Passwort "das ist mein passwort" lautet oder "dasistmeinpasswort"...
Wenn du also die trim Funktion nutzen willst um herauszufinden ob der Nutzer überhaupt ein ordentliches Passwort eingegeben hat, dann solltest du eine extra Variabel nutzen die dann mit trim bearbeitet wird und nicht das originale Passwort ändern

```
$passwort = $_POST['passwort'];
$checkpw = trim($passwort);
```
(noch eine Anmerkung: meiner Meinung nach wäre "method=get" angebrachter was Passwortübertragungen angeht)


----------



## Thallius (26. Nov 2015)

Delta Roh hat gesagt.:


> Ohne die code tags ist das wirklich blöd....
> Aber: Ein genereller Fehler bei dir liegt in der Anwendung von den mysql querys.
> Beispiel:
> 
> ...



Da hast Du leider unrecht. In PHP kann man das einfach so machen. PHP ersetzt dann tatsächlich $username durch den Variablen-Inhalt. Ein Unterbrechen des Strings ist nicht notwendig.

Und trim() entfernt nur führende und angehängte White Spaces und keine Spaces in der Mitte.

Gruß

Claus


----------

