Quote:
Originally Posted by sk8land
Ach, Jeremy-Pascal... eine Stunde nach deiner Frage hat doch schon jemand genau beschrieben, was an deinem Code falsch ist und Vorschläge gemacht, wie du es ausbessern kannst. Wenn diese paar Sätze dein Konzentrationsvermögen schon übersteigen, dann wirst du wohl nach der Schule bei Rewe stehen und Mettbrötchen verkaufen.
|
Danke für deinen überklugen Beitrag, kleiner Möchtegern. Warum gehst du nicht in anderen Foren spielen ? Anstatt zu helfen schreibst du nur gequirlte Scheiße !
Also hier nochmal die Lösung @Neo:
Quote:
Originally Posted by /exit
Du musst ja im <form> Tag eine Methode und eine Action angeben wenn die Methode POST ist und zu einem Login weiterleitet musst du dort auch mit POST Arbeiten.
Denn du kannst eine POST übergabe nicht mit GET verarbeiten.
GET Variablen werden mittels URL übergeben und POST Variablen werden mittels Formular übergeben somit macht deine if-Abfrage schon kein Sinn mehr. Mach aus $_GET einfach $_POST und es sollte eigentlich funktionieren.
|
Wie Exit schon beschrieben hat, musst du dich bei einer Form (Inputfelder in HTML) entscheiden, ob du mit GET oder POST arbeiten willst, um deine Eingaben in PHP zu verarbeiten. Bei Passwörtern ist es unsinnig die GET-Methode zu benutzen, da diese im Link in der Adesszeile beim Senden an die PHP-Datei sichtbar angezeigt wird.
Zu deinem Problem:
Du änderst also die $_GET-Methoden in deinem PHP-Code in deiner if-Abfrage in $_POST-Methoden.
Lösung:
<?php
$connection = new PDO('mysql:host=localhost;dbname=asasas', 'asasasas', 'asasasas');
if (isset($_POST["username"]) && !empty($_POST["password"])) {
$username = $_POST["username"];
$password = $_POST["password"];
$hash = password_hash($password, PASSWORD_DEFAULT);
echo $hash;
} else {
echo 'Einfach mal nö';
}
?>
Dein HtmL-Code sollte dann ungefähr so aussehen:
...
<form action="index.php" method="POST">
<input type="text" name="username"><br />
<input type="password" name="password"><br />
<input type="submit" value="Einloggen">
</form>
...
Erklärung:
Die Form aus der HTML-Datei schickt mit der POST-Methode jeweils die Eingabe in den beiden Eingabefeldern "username" und "password" and die Datei index.php.
In der index.php steht dann dein PHP-Code, der eine Datenbankverbindung per PDO aufbaut, die gesendeten Daten der Eingabefelder der HTML-Datei nimmt und verarbeitet. In deiner IF-Abfrage sagst du erstmal, dass wenn in beiden Eingabefeldern etwas drinsteht, dass $username mit dem Text aus deinem HTML-Input mit dem Namen "username" und $password mit dem Text aus deinem HTML-Input mit dem Namen "password" befüllt wird. Anschließend wird dein Password mit password_hash() verschlüsselt.
Wenn du noch weitere Hilfe brauchst, kannst dich gerne bei mir melden !