anpera.net
http://anpera.homeip.net/phpbb3/

Login via Email Adresse
http://anpera.homeip.net/phpbb3/viewtopic.php?f=25&t=5585
Seite 1 von 1

Autor:  Kyria [ So 02 Jun, 2019 13:39 ]
Betreff des Beitrags:  Login via Email Adresse

Hallo,

Tut mir leid das ich schon wieder mit Fragen komme, aber als Newbie und nun auch ohne Programmierer ist das leider schwer. :(

Ich spiele mit dem Gedanken ein Multi-Login-System auf meinen Server einzubauen. Allerdings weiß ich nicht was für Dateien ich alles bearbeiten muss, damit man sich statt mit den login nun mit der Mail Adresse einloggt. Ich habs mit der login.php und auch der common.php versucht, aber da blieb der Login mit dem login.

Muss ich auch an der Datenbank was ändern oder noch andere Dateien?

Ich wäre wieder unendlich über Hilfe dankbar!

Autor:  Shaddar [ Mo 03 Jun, 2019 05:43 ]
Betreff des Beitrags:  Re: Login via Email Adresse

Also grundsätzlich verhält es sich so:

Die index.php zeigt das Anmeldeformular an, dass in den einzelnen Template Dateien z.B. Jade.html definiert ist an und schreibt dann das entsprechende Label davor.

Theoretisch bräuchtest du diese Anpassungen aus technischer Sicht gar nicht, ich würde Sie dir aber dennoch empfehlen, dass du die Begriffe wie "username" eben durch "emailaddress" ersetzt.

Zum Schluss fehlt nur noch eine Anpassung in der login.php. Einmal zu Anfang wo die globale Variable $HTTP_POST_VARS / $_POST geprüft wird und zwei Mal in der darauf folgenden Datenbankabfrage. Werde das ganze mit konkreten Auszügen anreichern sobald ich wieder vorm PC sitze.

Templates z.B. Jade.html
Suchen:
Zitat:
{username}: <br><input name='name' accesskey='u' size='10'><br>
{password}:<br><input name='password' accesskey='p' type='password' size='10'><br>

Ersetzen:
Zitat:
{emailaddress}: <br><input name='emailaddress' accesskey='e' size='10'><br>
{password}:<br><input name='password' accesskey='p' type='password' size='10'><br>


index.php
Suchen: (~ Zeile 52)
Zitat:
.templatereplace("login",array("username"=>"<u>N</u>ame","password"=>"<u>P</u>asswort","button"=>"Einloggen"))

Ersetzen:
Zitat:
.templatereplace("login",array("emailaddress"=>"<u>E</u>mail","password"=>"<u>P</u>asswort","button"=>"Einloggen"))


login.php
Suchen: (~ Zeile 4)
Zitat:
<?php
require_once "common.php";

if ($HTTP_POST_VARS[name]!=""){

Ersetzen:
Zitat:
<?php
require_once "common.php";

if (!empty($_POST['emailaddress'])){


Suchen: (~ Zeile 13)
Zitat:
$sql = "SELECT * FROM accounts WHERE login = '$HTTP_POST_VARS[name]' AND password=MD5('$HTTP_POST_VARS[password]') AND locked=0";

Ersetzen:
Zitat:
$sql = "SELECT * FROM accounts WHERE emailaddress = '".$_POST['emailaddress']."' AND password=MD5('$_POST[password]') AND locked=0";


Zu beachten ist aber, dass mit dieser Methode die E-Mail-Adresse eindeutig sein muss, da ansonsten nicht klar ist, welcher Charakter geladen werden soll.

Autor:  Kyria [ Do 06 Jun, 2019 10:00 ]
Betreff des Beitrags:  Re: Login via Email Adresse

Cool danke dir!

Aber irgendwie will das bei mir nicht. So sieht meine Index aus und einloggen geht leider weder mit login, noch mit E-Mail-Adresse.

https://www.bilder-upload.eu/upload/2b8a9f-1559812160.jpg

Autor:  Shaddar [ Sa 08 Jun, 2019 08:37 ]
Betreff des Beitrags:  Re: Login via Email Adresse

Also ich weiß nicht, ob du das wusstest, aber $_POST ist der Nachfolger von $HTTP_POST_VARS, aber auch davon abgesehen hast du leider die Einbauanleitung nicht ganz befolgt.


Auf dich angepasst:
ndex.php
Suchen: (~ Zeile 52)
Zitat:
.templatereplace("login",array("username"=>"<u>N</u>ame","password"=>"<u>P</u>asswort","button"=>"Einloggen"))


Ersetzen:
Zitat:
.templatereplace("login",array("emailaddress"=>"<u>E</u>mail","password"=>"<u>P</u>asswort","button"=>"Einloggen"))


login.php
Suchen: (~ Zeile 4)
Zitat:
<?php
require_once "common.php";

if ($_POST['name'] != ""){


Ersetzen:
Zitat:
<?php
require_once "common.php";

if (!empty($_POST['emailaddress'])){


Suchen: (~ Zeile 13)
Zitat:
$sql = "SELECT * FROM accounts WHERE login = '" . $_POST['name'] . "' AND password=MD5('" . $_POST['password'] . "') AND locked=0";


Ersetzen:
Zitat:
$sql = "SELECT * FROM accounts WHERE emailaddress = '".$_POST['emailaddress']."' AND password=MD5('".$_POST[password]."') AND locked=0";

Autor:  Kyria [ Sa 08 Jun, 2019 10:49 ]
Betreff des Beitrags:  Re: Login via Email Adresse

Oh Himmel, entschuldige. Ich hab die Dateien auf dem Tester angepasst und die Template auf dem normalen -.- tut mir leid! Aber vielen Dank für deine erneute Hilfe! :)

Autor:  Shaddar [ Di 11 Jun, 2019 12:04 ]
Betreff des Beitrags:  Re: Login via Email Adresse

Das heißt es funktioniert nun wie gewünscht ? ^^

Autor:  Kyria [ Mi 12 Jun, 2019 07:02 ]
Betreff des Beitrags:  Re: Login via Email Adresse

Ja, danke nochmal. :)

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/