Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Frage zum Loginscript    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
FRAGE007
Mitglied
Guter User


Dabei seit: 13.03.2009
Herkunft: Berlin
Posts: 381
     Frage zum Loginscript Zitat | Bearbeiten

Hallo,

ich versuche mich grade mit diesem Loginscript:
https://www.php-einfach.de/experte/php-codebeispiele/loginscript/

Bekomme es aber nicht hin das man nur als Admin einen neuen User anlegen kann:
 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
<?php 
$pdo 
= new PDO('mysql:host=x;dbname=x''x''x');

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

$showFormular true//Variable ob das Registrierungsformular anezeigt werden soll
 
if(isset($_GET['register'])) {
    
$error false;
    
$email $_POST['email'];
    
$passwort $_POST['passwort'];
    
$passwort2 $_POST['passwort2'];
  
    if(!
filter_var($emailFILTER_VALIDATE_EMAIL)) {
        echo 
'Bitte eine gültige E-Mail-Adresse eingeben<br>';
        
$error true;
    }     
    if(
strlen($passwort) == 0) {
        echo 
'Bitte ein Passwort angeben<br>';
        
$error true;
    }
    if(
$passwort != $passwort2) {
        echo 
'Die Passwörter müssen übereinstimmen<br>';
        
$error true;
    }
    
    
//Überprüfe, dass die E-Mail-Adresse noch nicht registriert wurde
    
if(!$error) { 
        
$statement $pdo->prepare("SELECT * FROM users WHERE email = :email");
        
$result $statement->execute(array('email' => $email));
        
$user $statement->fetch();
        
        if(
$user !== false) {
            echo 
'Diese E-Mail-Adresse ist bereits vergeben<br>';
            
$error true;
        }    
    }
    
    
//Keine Fehler, wir können den Nutzer registrieren
    
if(!$error) {    
        
$passwort_hash password_hash($passwortPASSWORD_DEFAULT);
        
        
$statement $pdo->prepare("INSERT INTO users (email, passwort) VALUES (:email, :passwort)");
        
$result $statement->execute(array('email' => $email'passwort' => $passwort_hash));
        
        if(
$result) {        
            echo 
'Du wurdest erfolgreich registriert. <a href="login.php">Zum Login</a>';
            
$showFormular false;
        } else {
            echo 
'Beim Abspeichern ist leider ein Fehler aufgetreten<br>';
        }
    } 
}
 
if(
$showFormular) {
?>
 
<form action="?register=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>
 
Passwort wiederholen:<br>
<input type="password" size="40" maxlength="250" name="passwort2"><br><br>
 
<input type="submit" value="Abschicken">
</form>
 
<?php
//Ende von if($showFormular)
?>



19.11.2018, 13:26 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6266
      Zitat | Bearbeiten

Du müsstest überprüfen, ob $userid die ID des Admins entspricht. Die leichteste Lösung wäre es, dem Admin die ID 1 zu geben und dann zu testen ob $userid == 1.


www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



20.11.2018, 10:13 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Frage zum Loginscript   

Neues Thema | Antworten   


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