Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Loginscript Name und Nachname ausgeben    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
PHPNewbie
Mitglied
Neuling


Dabei seit: 30.12.2018
Herkunft: Germany
Posts: 1
     Loginscript Name und Nachname ausgeben Zitat | Bearbeiten

Hallo zusammen.

Ich habe von der Seite (https://www.php-einfach.de/experte/php-codebeispiele/loginscript) das Loginscript bereits erfolgreich in Benutzung.
Nun möchte ich aber anstatt der Userid den Vor- und Nachnamen ausgeben lassen.
Dies möchte ich zur Tageszeit abhängigen persönlichen Begrüßung nutzen (z.B. Guten Abend Max Mustermann).

Ich bin allerdings mit PHP noch nicht soweit vertraut dass ich das alleine lösen kann.

Mein Rgistrierungsformular ist angepasst, so dass auch der Vor- und Nachname in die Datenbank eingetragen wurden.

Im Geschützten Bereich sieht das Script wie folgt aus:

<?php
session_start();
if(!isset($_SESSION['userid'])) {
die('Bitte zuerst <a href="login.php">einloggen</a>');
}

//Abfrage der Nutzer ID vom Login
$userid = $_SESSION['userid'];

echo "Hallo User: ".$userid;
?>

Das Loginscript sieht so aus:
<?php
session_start();
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');

if(isset($_GET['login'])) {
$email = $_POST['email'];
$passwort = $_POST['passwort'];

$statement = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$result = $statement->execute(array('email' => $email));
$user = $statement->fetch();

//Überprüfung des Passworts
if ($user !== false && password_verify($passwort, $user['passwort'])) {
$_SESSION['userid'] = $user['id'];
die('Login erfolgreich. Weiter zu <a href="geheim.php">internen Bereich</a>');
} else {
$errorMessage = "E-Mail oder Passwort war ungültig<br>";
}

}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>

<?php
if(isset($errorMessage)) {
echo $errorMessage;
}
?>

<form action="?login=1" method="post">
E-Mail:<br>
<input type="email" size="40" maxlength="250" name="email"><br><br>

Dein Passwort:<br>
<input type="password" size="40" maxlength="250" name="passwort"><br>

<input type="submit" value="Abschicken">
</form>
</body>
</html>

Ich gehe davon aus dass ich an beiden Bereichen unter $_SESSION etwas anpassen muss.

Es wäre toll wenn mir hier jemand weiterhelfen könnte.



30.12.2018, 17:15 Profil | PM | E-Mail  
asdf
Mitglied
Guter User


Dabei seit: 26.10.2009
Herkunft: keine Angabe
Posts: 420
      Zitat | Bearbeiten

Hallo PHPNewbie

Wo du das Passwort prüfst könntest du z.B. nicht nur die Userid in einer Session speichern sondern auch glich noch Vor- und Nachname (Zeile 7 und 9).
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:

<?php
//Überprüfung des Passworts
if ($user !== false && password_verify($passwort$user['passwort'])) {
$_SESSION['userid'] = $user['id'];
//Vorname in Session speichern
$_SESSION['vorname'] = $user['vorname'];
//Nachname in Session speichern
$_SESSION['nachname'] = $user['nachname'];
die(
'Login erfolgreich. Weiter zu <a href="geheim.php">internen Bereich</a>');
} else {
$errorMessage "E-Mail oder Passwort war ungültig<br>";
}
?>


Im Geschützten Bereich musst du dann nur anstelle von $userid der Vor- und Nachname ausgeben:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:

<?php
session_start
();
if(!isset(
$_SESSION['userid'])) {
die(
'Bitte zuerst <a href="login.php">einloggen</a>');
}

//Abfrage des Namens vom Login
$vorname $_SESSION['vorname'];
$nachname $_SESSION['nachname'];

echo 
'Guten Abend '.$vorname.$nachname;



PS: wenn du dein code postetst, verwende bitte die entsprechende Funktion (ist viel leserlicher..). (Das Dollar Zeichen)




Post wurde schon 1x editiert, das letzte mal am 26.01.2019 um 11:24 von asdf
26.01.2019, 11:22 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Loginscript Name und Nachname ausgeben   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz