Wyświetlanie username.

Wyświetlanie username.
P7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Witam,

Taki problem: Po zalogowaniu chciałbym wyświetlić komunikat "Welcome, {nazwa użytkownika}". Dlaczego takie coś nie działa? Wyświetla się jedynie "Welcome, ".

Funkcja odpowiedzialna za logowanie:

Kopiuj
public function loginUser($email, $password)
	{
		global $pdo;
		$query = $pdo->prepare("SELECT id, username FROM users WHERE email = ? AND password = ?");
		$query->execute(array($email, $password));
		$userdate = $query->fetch();
		
		$num = $query->rowCount();
		if($num == 1)
		{
			session_start();
			$_SESSION['login'] 			= true;
			$_SESSION['uid'] 				= $userdata['id'];
			$_SESSION['uname'] 		= $userdata['username'];
			$_SESSION['login_msg'] 	= 'Login successfully';
			return true;
		}
		else
		{
			return false;
		}
	}
 

Strona wyświetlajaca zawartość:

Kopiuj
 
<?php
session_start();
require_once "functions.php";

$user 				= new LoginRegistration();
$uid 					= $_SESSION['uid'];
$username 		= $_SESSION['uname'];

//print_r($username);

if(!$user->getSession())
{
	header('Location: login.php');
	exit();
}
?>

//html

<h2>Welcome, <?php echo $username; ?></h2>

//html
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Nie rozpoczynaj dwa razy sesji (masz session_start(); w metodzie loginUser).

P7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

No ok... Ale to nie rozwiązuje problemu.

P7
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 87
0

Rozwiązane. Literówki w loginUser()

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.