PHP Tutorial | Login und Registrierung mit MySQL-Datenbank | Deutsch - Teil 2

preview_player
Показать описание
Ich zeige dir wie du einen Login sowie eine Registrierung mit einer MySQL-Datenbank in PHP Programmierst!
Außerdem zeigen wir dem Benutzer nach der Anmeldung eine kleine Willkommens-Seite mit einem Abmelden-Button.

Hier kannst du mein Script downloaden:
Рекомендации по теме
Комментарии
Автор

Korrekt danke! Wirklich sehr gut gemacht und auf den Punkt gebracht. Nicht überladen und gut vermittelt!


Danke & mehr davon!

thorstenschulte
Автор

Genau sowas brauch ich 😄 Danke für das tolle Video ❤

xsehrmotiviert
Автор

ist der header Befehl hier nicht überflüssig? Man könnte auch gleich prüfen, ob die Session-Variable gesetzt ist und dann nach ui.php verlinken, oder?

suwort
Автор

Hi, man kann beim Registrieren alles frei lassen und dennoch wird ein eintrag in der Datenbank vorgenommen. Nur das die felder leer sind und sich halt ein Hash an der stelle des Passwort generiert. Wie kann ich das beheben? ;-)

TriopsGigant
Автор

Ich wollte dass ganze in meine seite in verbindung mit deinem Video (Single index.php) umsetzen um seitlich einen kleinen Login bereich zu haben, da ich am anfang nicht alles verstanden hab und es so dann nicht ging, hab ich deinen aufbau 1 zu 1 nachgestellt und bei mir folgenden fehler entdeckt:

Wenn ich einen User regestriere, kann ich das passwort in md5 auf der Datenbank speichern. Will ich nun den User anmelden sagt es mir die Fehlermeldung die ich erstellt hab das die Eingabe falsch ist obwohl ich das Script bei dir abgeschrieben habe (werde es wenn ich alles verstanden habe selber schreiben und auf meine bedürfnisse anpassen)



$benutzername =

$passwort = $_POST['passwort'];
//geht nicht warum weis ich noch nicht!

$passwort = md5($passwort);

$search_user = $db->prepare("SELECT id FROM users WHERE benutzername = ? AND passwort = ?");
$search_user->bind_param('ss', $benutzername, $passwort);
$search_user->execute();
$search_result = $search_user->get_result();

if($search_result->num_rows == 1):
$search_object =
$_SESSION['user'] = $search_object->id;
echo 'Funktioniert!';
header('Location: /login/');
else:
echo 'Deine Angaben sind leider nicht korrekt!';
endif;
endif;

hast du eine Idee woran das liegen könnte? Wenn ich beim Regestrieren das umwandeln in md5 und beim anmelden ebenfals auskomentiere und ich einen neu erstellten User anmelde geht es.

Frage 2:
Ich würde gerne noch eine art Nutzergruppe einbauen, als beispiel User A ist Member und darf auf Seite 1, 2 und 4 zugreifen. User B ist VIP und hat zugriff auf Seite 1, 2, 4 und 5. User C ist Admin und hat auf Seite 1, 2, 3, 4 und 5 Zugriff. Ich will für ein Spiel eine Seite erstellen in dem die angemeldeten User daten in die datenbank eintragen können, aber nicht jeder user sollte überall was eintragen dürfen.

Ich hatte es so geplant das ich eine db Tabelle erstelle die Users heist und in dem id. benutzername und passwort steht und eine zweite db tabelle in der ich die einzelnen nutzergruppen eintrage. so das man dann via php eine 1:n beziehung aufbaut (die User den Nutzergruppen zuweisen kann).

ist das ganze so sinvoll und wenn hast du mir einen tipp wie ich das am besten umsetzen kann?

hikarihoshi
Автор

Ich werde nach dem Anmelden nicht auf ui.php weiter geleitet, wenn ich ihm Sage das er auf die ui.php gehen soll, habe ich nur einen White Screen ohne text oä.

Rxbsi
Автор

hmm... bei mir hackt es irgendwie. alles exakt gleich. problem bei zeile 22: $search_result = $search_user->get_result(); ab da gehts nicht weiter irgendwie. wenn ich davor zum testen eine echo "test"; ausgabe mache bekomme ich die ausgegeben. direkt dahinter nicht.

Neofey
Автор

Wie kriege ich das weg?

Notice: Undefined index: page in on line 9

yodaimperium
Автор

Wenn ich für ein schulprojekt das nicht verschlüsseln will, kann ich die md5 zeile einfach weglassen?

shyguy
Автор

Hey, bei mir funktioniert das alles reibungslos, bis auf das anmelden. Also ich kann benutzer registrieren, jedoch ist die anmeldung nicht möglich. Weißt du da weiter?

paulczerwenka
Автор

was soll ich eigentlich bei Header('Location: /tutorials/Login/'); in der anmelden.php Datei in zeile 28 reinschreiben weil wenn ich die Datei auf meinen bplace Server hochlade kommt immer dieser error: Warning: Cannot modify header information - headers already sent by (output started at in on line 27

lyrics
Автор

Hi,
erstmal sehr gutes Video.
Bei mir funktioniert aber weder in Anmelden noch in Registrieren der Code ab dieser Zeile: $search_result = $search_user->get_result();
Ich habe nichts außer die Zugangsdaten zu meiner Datenbank verändert.
Woran könnte das liegen und wie kann man diesen Fehler beheben?
Ich freue mich über eine Antwort:)

Kistenkapital
Автор

Super Video, danke vielmals! Ich habe da nur eine Frage: Auf meiner Website habe ich mehrere Unterseiten. Wie kann ich die auch in den sicheren Bereich bringen?
Würde mich über eine Antwort freuen :)

eliowanner
Автор

hallo,
ich werde noch dem Anmelden immer wieder auf die index.php seite geleidet und nicht auf die ui.php seite
session_start();
ist auf der index.php vorhanden
hast du eine Idee was es sein könnte
grüße

Ramboh
Автор

Aber ganz sicher ist das nicht, oder? Also wenn ich jetzt mich abgemeldet habe, dann komme ich mit dem Zurück im Browser wieder auf die Startseite?!

storiesofavanlife
Автор

Schade, die Zeile mit dem query stand schon fast da ... doch wieder prepare ...

rolf-dieterkottwitz
Автор

Ist die überprüfung beu ui.php denn wirklich nötig? und escape_real_string() funktioniert bei mir nicht, da ist das feld dann immer leer.. aber ich hab das mal mit einer sql injection probiert aber dagegen ist es sicher..

jojoii
Автор

kann mann bei:

$passwort = $_POST['passwort'];
$passwort = md5($passwort);
auch einfach schreiben:

$passwort = md5($_POST['passwort']);

Parasite
Автор

Hey kannst du mir sagen welchen Datentyp ich wählen sollte dfür GPS daten ?
lat:
lng: 15

cpt.kaeffchen
Автор

Heii

Bei mir funktioniert das Anmelden nich?
Villeicht kanns du mir helfen.

Dies ist mein Script

<form action="" method="post">
Dein Benutzername:<br>
<input type="text" name="benutzername"
Dein Passwort:<br>
<input type="password" name="passwort" placeholder="Passwort"><br>
<input type="submit" name="absenden" value="Absenden"><br>

</form>

<?php


$db = new mysqli('localhost', 'Livanu', '', 'chatroom');
if($db->connect_error):
echo $db->connect_error;

endif;


$benutzername =
$passwort = $_POST['passwort'];
$passwort = md5($passwort);


$search_user = $db->prepare("SELECT id FROM users WHERE benutzername = ? AND passwort = ?");
$search_user->bind_param('ss', $benutzername, $passwort);
$search_user->execute();
$search_result = $search_user->get_result();

if($search_result->num_rows == 1):
$search_object =
//$_SESSION['user'] = $search_object->id;

//header('Location: /Chatroom/login/');

echo 'Funktioniert!';
else:
echo 'Deine Angaben sind leider nich korrekt!';
endif;
endif;

Liebe grüsse

livanu