Я привязываю, чтобы отображать все данные пользователя после входа в систему, но ничего не отображается, кроме слова «массив». Кроме того, единственное, что делает дисплей является пользователем, но не остальные т.е. Firstname, фамилия и т.д.Показывать данные пользователя после входа в систему
session_start();
if(!$_SESSION['user']) {
header("location: login.php");
}
$conn = mysql_connect("localhost","root","");
mysql_select_db("dbname",$conn);
$query = "
SELECT
id,
username,
firstname,
surname,
address1
FROM users
WHERE user = '".$_SESSION['user']['username']['firstname']['surname']
['address1']."'
";
?>
<label for="usermail">User Email</label>
<h7><?php echo $_SESSION['user']; ?></h7>
<label for="line2">Line 2</label>
<h7><?php echo $_SESSION['address1']; ?></h7>
login.php файл:
session_start();
if($_SESSION['user']!=''){header("Location:welcome.php");}
$dbh=new PDO('mysql:dbname='';localhost', 'root', '');
$email=$_POST['mail'];
$password=$_POST['pass'];
if(isset($_POST) && $email!='' && $password!=''){
$sql=$dbh->prepare("SELECT id,password,psalt FROM users WHERE
username=?");
$sql->execute(array($email));
while($r=$sql->fetch()){
$p=$r['password'];
$p_salt=$r['psalt'];
$id=$r['id'];
}
$site_salt="salt1";/
$salted_hash = hash('sha256',$password.$site_salt.$p_salt);
if($p==$salted_hash){
$_SESSION['user']=$id;
header("Location:welcome.php");
}else{
echo "Username OR Password is Incorrect...";
}
}
все пользовательские детали я имею в виду детали зарегистрированного пользователя только – Assy
где вы задающие $ _SESSION [» user '], показать, что код –
thats, потому что в вашем коде '$ _SESSION [' user ']' является массивом и вы не можете использовать эхо-массивы. – CodeGodie