2016-06-15 2 views
0

Ich versuche, andere Benutzerinformationen zu extrahieren, wenn ich mich anmelde. Ich habe es geschafft, mich mit meiner E-Mail-Adresse und Passwort anmelden, aber ich habe Schwierigkeiten, meinen Vor-/Nachnamen usw. zu zeigen .Wie man andere Spalten in php Sitzung zeigt

ich wie so in bin Anmeldung:

$query = "SELECT * FROM users WHERE user_email = '". $email ."' AND user_password = '". $password ."'" ; 
$result = mysqli_query($con, $query); 

if (mysqli_num_rows($result) == 1) { 
    $_SESSION['user_email'] = $email; 
    header('Location: dashboard.php'); 
} else { 
    echo 'fail!'; 
} 

Da ist in meinem Kopf habe ich: nur

session_start(); 
if(!isset($_SESSION['user_email'])){ 
    header('Location: index.php'); 
    exit(); 
} else{ 
    $email = $_SESSION['user_email']; 
    echo 'Logged in'; 
} 

Aber fi ich versuche user_firstname zu Echo oder user_lastname es natürlich nicht bin ich nicht sicher, wo das gesetzt wird?

+0

was ist mit dem Abrufen einer Zeile? –

+0

Sie müssen andere Details mit user_email übergeben. ODER sogar am besten, Sie können mysql-Abfrage durchführen. Verwenden Sie die user_email, um weitere Details aus der Datenbank zu erhalten. – santosh433

Antwort

2

Sie müssen eine Zeile aus der Abfrage lesen und dann Sitzungsvariablen daraus setzen.

if (mysqli_num_rows($result) == 1) { 
    $_SESSION['user_email'] = $email; 
    $row = mysqli_fetch_assoc($result); 
    $_SESSION['user_firstname'] = $row['user_firstname']; 
    $_SESSION['user_lastname'] = $row['user_lastname']; 
    header('Location: dashboard.php'); 
} else { 
    echo 'fail!'; 
} 

Sie können die Sitzungsvariablen in der Kopfzeile drucken.

session_start(); 
if(!isset($_SESSION['user_email'])){ 
    header('Location: index.php'); 
    exit(); 
} else{ 
    $email = $_SESSION['user_email']; 
    echo 'Hello, ' . $_SESSION['user_firstname']; 
} 

könnten Sie auch die gesamte Zeile in die Sitzung gerade auf:

$_SESSION['user_data'] = $row; 

Dann können Sie $_SESSION['user_data']['user_firstname'] verwenden, um bestimmte Felder zu erhalten.

+0

Guten Pluspunkt, der erklärt, wie man die '$ row' Daten gerade in ein (nother) Array steckt (' $ _SESSION') ':-)' – Martin

+0

Ok, das macht also Sinn header Wenn ich die Sitzung einstelle, was wäre die beste Methode, solche Informationen anzuzeigen? – PhpDude

+0

Ich habe das zur Antwort hinzugefügt. – Barmar