Datenbank username Ausgabe mittels SessionID

12/08/2016 17:29 Mad0ck#1
Guten Tag.

Ich hänge derzeit bei einem kleinen Problem.

Ich habe die userID aus der DB in die aktuelle Session userid gespeichert.

Wenn die userID = der Session userid ist, werde ich beim Login in den "geschützen" Bereich weitergeleitet.

Dort möchte ich die Textausgabe machen wie:

Willkommen - vorname des users- ...

Mein Problem ist es den vornamen auszugeben.
Die ID des users ist kein Problem. Jedoch schaffe ich es nicht zu schauen wo
user["id"] = vorname ist auszugeben.

Aktueller Code:
Login Seite:
PHP Code:
<?php

session_destroy
();

if(isset(
$_POST['email1']) && isset($_POST['passwort1'])) {
    
$email1    = $_POST['email1'];
    
$passwort1 = $_POST['passwort1'];

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


//Überprüfung des Passworts
if ($user !== false && password_verify($passwort1, $user['passwort'])) {
    
session_start();
    
$_SESSION['userid'] = $user['id'];

} else {

    
$errorMessage = " Email oder Passwort ungültig <br>";   // Fehlermeldung bei falschem Passwort oder Email    
}

// Wenn die userID  gleich der gespeicherten ID ist, wird auf Veranstaltungen weitergeleitet.
if ($_SESSION["userid"] = $user["id"])
{
    
header("Location:index.php?main_nav=Veranstaltungen");
}
    
    if(isset(
$errorMessage)) {
    echo 
$errorMessage;
        }    
}

?>

<!DOCTYPE html>
<html>
    <head>
        <title>RFID - Tracking</title>
        <link rel="stylesheet" href="css/main.css">
        <link rel="stylesheet" href="css/login.css">
    </head>

    <body>


    <?php



        
if (isset($_GET['l_nav'])) {        
    

    
            if (
$_GET['l_nav'] == "Registrierung")
            {
                include 
'php/benutzerregistrierung.php';
            } 
        
            if (
$_GET['l_nav'] == "Eingeloggt")
            {
                include 
'php/eingeloggt.php';
            } 
    
        }

    else {
    
?>
    
    
    

        <form id="login" class="login" method="post" action="index.php?main_nav=Login">

             <div class="imgcontainer">
                 <d>Login</d><br>
                    <img src="images/login-avatar.png" alt="Avatar" class="avatar">
              </div>

              <div class="container">
                <label><b>Benutzername</b></label>
                <input type="text" placeholder="E-mail Adresse eingeben" name="email1" >

                <label><b>Passwort</b></label>
                <input type="password" placeholder="Passwort eingeben" name="passwort1" >
            
                
                <input type="submit" class="loginbtn" name="submit" value="Einloggen"/>
                <input type="checkbox" checked="checked"><c> Benutzernamen und Passwort speichern</b>
              </div>

              <div class="container" style="background-color:none">
                <button type="button" class="zurückbtn">Zurueck</button>
                <a href="index.php?main_nav=Login&&l_nav=Registrierung" class="registrierbtn">Registrieren?</a>
              </div>

        </form>    

        <?php
        
}
    
?>    
    
    <script src="jquery/jquery-3.1.0.min.js"></script>

    <script>

    </script>

    </body>

</html>

" Seite welche nur mit richtiger Session geladen wird " :
PHP Code:
<!DOCTYPE html>

<html>
    <head>
        <title>RFID - Tracking</title>
        
    </head>
    <body>
        
        <nav id="V" class="V">
            <ul class="V">
                <p     class="V"> Veranstaltungen </p>
                  <li class="V"><a href="index.php?main_nav=Veranstaltungen&&v_nav=HTL Waidhofen/TOT">HTL Waidhofen/TOT</a></li>
                  <li class="V"><a href="index.php?main_nav=Veranstaltungen&&v_nav=Laufveranstaltung A">Laufveranstaltung A</a></li>
                  <li class="V"><a href="index.php?main_nav=Veranstaltungen&&v_nav=Laufveranstaltung B">Laufveranstaltung B</a></li>
                  <li class="V"><a href="index.php?main_nav=Veranstaltungen&&v_nav=Teststrecken">Teststrecken</a></li>
                  <li class="V"><a href="javascript:history.back()">Zurueck</a></li>
            </ul>
        </nav>

<?php
        
if (isset($_GET['v_nav'])) {        
    
?>
        
        <?php
            
if ($_GET['v_nav'] == "HTL Waidhofen/TOT")
            {
                include 
'php/htl waidhofen tot.php';        
            } 

            if (
$_GET['v_nav'] == "Laufveranstaltung A")
            {
                include 
'php/laufveranstaltung A.php';        
            } 

            if (
$_GET['v_nav'] == "Laufveranstaltung B")
            {
                include 
'php/laufveranstaltung B.php';        
            } 

            if (
$_GET['v_nav'] == "Teststrecken")
            {
                include 
'php/teststrecken.php';        
            }     
        }
        else {
        
?>
            <p class="V_Auswahl"> Bitte wählen Sie die entsprechenden Veranstaltung aus! </p>
            <p class="V_Auswahl"> Willkommen <?php

                    $sql 
="SELECT vorname FROM users WHERE id=".$_SESSION['userid']; 
                            foreach (
$pdo->query($sql) as $row ) {
                              echo 
$row['vorname'].;
                               
    }
?>
    
    <?php
    
}
    
?>    
        <script src="jquery/jquery-3.1.0.min.js"></script>
        <script>

        $('#V').hide();    

        $(document).ready(function(){

               $('#V').animate({ height: 'toggle'},1100);
        });     
        </script>
    </body>
</html>
Es geht um den Bereich wo Willkommen <?php ... steht.
Da ist auch das zu finden, was ich probiert habe .
Leider komplett erfolglos ...


Würde mich um Hilfe freuen

lg
12/08/2016 18:50 .Barone#2
Warum machst du nach dem Einloggen eine Session mit dem namen "userid" und weißt dieser die UserID zu?
Mache doch eine Session mit dem namen User, welche ein Array ist und gib ihr die ganzen Userdaten?
Dann kannst du auch zb per $_SESSION['user']['name'] den namen ausgeben.
12/08/2016 18:54 Mad0ck#3
Quote:
Originally Posted by .Barone View Post
Warum machst du nach dem Einloggen eine Session mit dem namen "userid" und weißt dieser die UserID zu?
Mache doch eine Session mit dem namen User, welche ein Array ist und gib ihr die ganzen Userdaten?
Dann kannst du auch zb per $_SESSION['user']['name'] den namen ausgeben.
Hmm okey :c
Wie weiße ich ner Session alle daten der db zu ôo.

Bin grad leicht überfordert und überarbeitet x.x

lg
Danke dir schonmal fürs Antworten !
12/08/2016 19:10 .Barone#4
$_SESSION['user'] = $user;

$user ist ja dein Array mit den Daten aus der Datenbank.
12/08/2016 19:34 Mad0ck#5
Quote:
Originally Posted by .Barone View Post
$_SESSION['user'] = $user;

$user ist ja dein Array mit den Daten aus der Datenbank.

Okey. Danke dir !
Gut zu wissen, dass es immer hilfsbereite Leute gibt, die Neulinge und sehr Fehleranfällige Personen wie mir helfen =)

schönen Feiertag noch ( sofern du aus Ö kommst :D ^^ )
sonst schönen Abend

#closerequest

Problem wurde gelöst danke an @.Barone hat mir das ganze um einiges erleichtert !!
12/08/2016 23:04 Devsome#6
#closed by request