PHP Registrierung mit SQL-Datenbank | Login-System | PHP Tutorial Deutsch

preview_player
Показать описание
Mit dem Coupon-Code: KURZUNDKNAPP
sparst du 10% Rabatt auf alle Webhosting-Pakete mit einer Laufzeit von 12 Monaten und mehr.

Damit sich ein User auf einer Webseite registrieren kann, muss die Webseite den User in eine Datenbank speichern können. In diesem Video werde ich mit PDO eine Verbindung zu einer SQL-Datenbank herstellen. Mit PHP wird dann der Registriervorgang realisiert.

***************************************************************

Falls du mehr über PHP lernen möchtest, empfehle ich dir das
Komplettes PHP Handbuch:
(Das ist ein Affiliate-Link. Mit einem Kauf unterstützt du unsere Arbeit)

***************************************************************

00:00 Endprodukt
00:13 Voraussetzungen
00:37 Localhost aufsetzen
00:54 Formular anpassen
01:41 Datenbank Erstellen
02:16 Verbindung zur Datenbank
03:16 Registrierung vorbereiten
05:32 Registrieren
06:33 Passwort verschleiern
07:01 Zur Homepage weiterleiten
07:24 Ausblick Login

Musik im Hintergrund:

2. Still Standing by Anno Domini Beats

Рекомендации по теме
Комментарии
Автор


<?php

$dsn =
$username = 'root';
$password = '';

$con = new PDO($dsn, $username, $password);
?>

<?php
require("connection.php");

if(isset($_POST["submit"])){
var_dump($_POST);

$username = $_POST["username"];
$email = $_POST["email"];
$password = PASSWORD_HASH($_POST["password"], PASSWORD_DEFAULT);

$stmt = $con->prepare("SELECT * FROM users WHERE username=:username OR email=:email");
$stmt->bindParam(":username", $username);
$stmt->bindParam(":email", $email);
$stmt->execute();

$userAlreadyExists = $stmt->fetchColumn();

if(!$userAlreadyExists){
//Registrieren
registerUser($username, $email, $password);
}
else{
//User existiert bereits
}
}

function registerUser($username, $email, $password){
global $con;
$stmt = $con->prepare("INSERT INTO users(username, email, password) VALUES(:username, :email, :password)");
$stmt->bindParam(":username", $username);
$stmt->bindParam(":email", $email);
$stmt->bindParam(":password", $password);
$stmt->execute();
header("Location: homepage.php");
}

?>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registrieren</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<form action="index.php" method="POST">
<h1>Account Erstellen</h1>
<div class="inputs_container">
<input type="text" placeholder="Benutzername" name="username" autocomplete="off">
<input type="text" placeholder="Email" name="email" autocomplete="off">
<input type="password" placeholder="Passwort" name="password" autocomplete="off">
</div>
<button
</form>
</body>
</html>

coding-kurzundknapp
Автор

Mega gut, vielen Dank! Kurz und knapp, und gleichzeitig absolut logisch und verständlich aufgebaut! 👍🏻🙏🏻

mariuswinterscheid
Автор

Viel besser erklärt als mein Programmier Lehrer. Alles sofort verstanden was ich in 3 Wochen Unterricht nicht geblickt hab👌🏻

vavetv
Автор

Geiler Kanal, kurz und knapp und alles in kürzester Zeit erklärt, genau so muss ein Coding Tutorial sein.

webnerd
Автор

Danke das du dein Wissen weiter gibst :)

bluevo
Автор

Echt toller Video. Es war sogar für mich hilfreich da ich an einem Webserver für zu Hause Arbeite. Danke noch mal :)

danielmerten
Автор

Stellenweise ein bisschen sehr schnell (hätte etwas besser erklärt werden können), aber es hat alles geklappt. Finde auch den kurzen Überblick gut (dass man ein wenig Vorkenntnisse mitbringen sollte, da es sonst wirklich sehr schwer werden kann). Mach weiter so!

gunnarherbert
Автор

also ganz ehrlich, fast wie runtergelesen, .. und so schnell, dass ich nicht mehr mitkam, aus der Sicht eines Pro"s gut erklärt .. und für Pro's auch gut nachvollziehbar. Ich für meinen Teil, musste alle 15sek stoppen ... und mich bemühen, das ganze zu verstehen. Ich habe gleich mal nachgesehen, ob ich zufällig die Geschwindigkeit auf 2, 5 geschalten habe, aber war auf 1. Wow! Ich bin selbst Trainer, aber würde ich in Deiner Klasse sitzen, dann würde ich schon nach 15 mins den Anschluß verloren haben ...

websibaer
Автор

Sehr geil! :D Sehr verständlich und on point erklärt. Man dankt \o/

yunokawaii
Автор

Auf MacOS etwas schwierig nachzuvollziehen, aber als Blutiger Anfänger auch machbar. Sonst nen echt tolles Tutorial!

jurio
Автор

Super Video. Ich habe nur das Gefühl, das Video läuft im Zeitraffer. Habe es mit 75% Geschwindigkeit laufen lassen. Dann kann man gut folgen.

frankbutler
Автор

Wieder echt gut erklärt!
Darf ich fragen, welchen Editor und welches Farbschema Du verwendest, da sich hier das etwas "hässliche" $-Zeichen bei den PHP-Variablen vom restlichen Variablennamen durch das farbliche Weiß sichtlich abhebt, was ich wiederum lesbarer finde?

Lyrik-Klinge
Автор

warum funktioniert derselbe Code wieder nur bei mir nicht...

Nr.1 
Die require Funktion funktioniert bei mir nicht. 
Ich musste den Inhalt der Connection Datei also kopieren und in die index Datei einfügen.

Nr.2
Xxamp kann bei mir nichts mit index.php anfangen. Ich habe also den html code in eine index.html eingetragen und den rest in eine register.php eingefügt. Achtet auf <form action="register.php"...> in der index.html.

Wenn ihr einen richtigen Mysql server verbinden wollt, der im Terminal läuft (find ich viel cooler), müsst ihr im "connection Teil" bei "localhost" noch ":3306" hinzufügen. Das ist der Port, durch den SQL Server in der Regel standardmäßig erreichbar sind.

Noah-xnth
Автор

Hi, wo kann ich bitte den Quellcode herunterladen?

eliasumzugee.k.
Автор

Hallo ich versuche jetzt seid einiger zeit deine Registrierung in meine Seite einzubauen aber er Registriert keine User in meiner Datenbank? Auch nach erneutem Kopieren deines Codes und ausprobieren Funktioniert es nicht. Wie ich kann ich weitere Hilfe bekommen?

maondrgon
Автор

Super Video! Top! Hab nur eine Sache nicht verstanden.
Bei der Connection was kommt bei dem Host rein, wenn man es nicht localhost mehr macht
Und auch das mit dem Passwort und Account erstellen geht das auf myphpAmdin?
Sorry für die wahrscheinlich offensichtlichen Fragen mach jetzt gerade eine Website mit der ersten Datenbank😅

mathemann
Автор

Hallo ich werde direkt beim Einfügen von dem Ordner nicht zu der Seite weitergeleitet, was kann ich tuen?

dream
Автор

An sich ein gutes Tutorial. Vielen Dank! Aber die Hintergrundmusik stört massiv. Sie ist viel zu laut und lenkt extrem ab ....

robertkoch
Автор

Mich würde interessieren wie man ein größeres Projekt (z.B. Implementierung eines Spiels) mit Login und Regisrierung angehen sollte? Es sollte einen öffentlichen Bereich geben und einen Bereich, den nur registrierte User einsehen können. User sollten nur auf eigene Daten zugreifen können. Insbesondere die Ordnerstruktur würde mich interessieren und wie man die einzelnen Views für die Menüpunkte aufbauen sollte. Wäre super, wenn du dazu noch ein Video machen könntest :)

floriangillitzer
Автор

Hallo Ihr lieben,

Ich habe eine Frage ich habe einen Centos 7 Server,
und habe dort phpmyadmin aufgesetzt ich kann
über remote controll mein phpmyadmin Panel im Browser
aufrufen.
Und ich frage mich wie ich wie ich eine Verbindung
dort einrichte weil Localhost und die ip des Servers
haben nicht funktioniert.
Könnte mir da jmd helfen LG :)

kryptonpanel