Профиль профиля пользователя Session_start

Я изучаю php. Я создал систему регистрации и входа в систему. Он работает нормально. Но мне интересно что-то: как я могу отображать данные пользователя в профиле пользователя. Например, имя, фамилия, адрес электронной почты и т. Д. Моя система входа в систему функционирует, но отображает только электронную почту.

Это мой код profile.php.

<?php session_start(); if (!isset($_SESSION['email'])) { header('location: index2.php'); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> <link href="css/profile.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="header"> <div class="header_in"> <div class="logo"><span>EcoWebTr</span></div> <div class="cik"><a href="cikis.php">Çıkış</a></div> <!--Login informtion--></div> </div> <div class="container"> <div class="wrapper"> User Email: <font color="#000066"><?php echo $_SESSION['email']; ?></font> </div> </div> </body> </html> 

А также это login.php

 <?php include("includes/connect.php"); if(isset($_POST['login'])) { $email = $_POST['email']; $password = md5($_POST['password']); $check_user = "SELECT * FROM users WHERE email='$email' AND password='$password'"; $run = mysql_query($check_user); if(mysql_num_rows($run)>0) { $_SESSION['email']=$email; echo"<script>window.open('profile.php','_self')</script>"; } else { echo"<script>alert('wrong email or password')</script>"; } } ?> в <?php include("includes/connect.php"); if(isset($_POST['login'])) { $email = $_POST['email']; $password = md5($_POST['password']); $check_user = "SELECT * FROM users WHERE email='$email' AND password='$password'"; $run = mysql_query($check_user); if(mysql_num_rows($run)>0) { $_SESSION['email']=$email; echo"<script>window.open('profile.php','_self')</script>"; } else { echo"<script>alert('wrong email or password')</script>"; } } ?> по <?php include("includes/connect.php"); if(isset($_POST['login'])) { $email = $_POST['email']; $password = md5($_POST['password']); $check_user = "SELECT * FROM users WHERE email='$email' AND password='$password'"; $run = mysql_query($check_user); if(mysql_num_rows($run)>0) { $_SESSION['email']=$email; echo"<script>window.open('profile.php','_self')</script>"; } else { echo"<script>alert('wrong email or password')</script>"; } } ?> 

Related of "Профиль профиля пользователя Session_start"

Возможно, существует несколько разных подходов.

Одна из возможностей, так как вы сказали, что ваш логин работает нормально, и я вижу, что вы видите, что сообщение электронной почты в переменной сеанса (предположительно при входе в систему) также должно устанавливать переменные сеанса для других полей, которые вы хотите отобразить.

Поэтому установите имя, фамилию, адрес электронной почты и т. Д. Как переменные сеанса. Затем в вашем HTML вы сможете ссылаться на них по мере необходимости. Например, <?php echo $_SESSION['first name']; ?> <?php echo $_SESSION['first name']; ?>

ОБНОВИТЬ

Учитывая дополнительную информацию, которую вы предоставили, вот краткий пример …

 if(mysql_num_rows($run)>0) { $_SESSION['email']=$email; $row = mysql_fetch_assoc($run); $_SESSION['firstname'] = $row['firstname']; $_SESSION['lastname'] = $row['lastname']; // etc по if(mysql_num_rows($run)>0) { $_SESSION['email']=$email; $row = mysql_fetch_assoc($run); $_SESSION['firstname'] = $row['firstname']; $_SESSION['lastname'] = $row['lastname']; // etc 

В этом примере предполагается, что вы сохраняете имя / фамилию в своей базе данных как «firstname» и «lastname». Просто настройте имена по мере необходимости, чтобы они соответствовали вашей базе данных. Это создает все переменные сеанса … затем вы можете обращаться к ним по мере необходимости, как если бы вы обращались к своей переменной сеанса электронной почты.

Вам нужно будет запросить его через вашу базу данных. Я рекомендую вам запросить все это во время входа в систему и сохранить его как переменные сеанса, а затем просто откликнуться в любом месте.

Как сказал Чарли, вы можете echo $_SESSION['full_name'] . Однако я обычно создаю ассоциативный массив с именем User, а затем помещаю в него информацию. Например, echo $_SESSION['USER']['full_name'] звучит как более разумный подход.

ПРИМЕР

При успешном подключении:

1) Запросить базовую информацию, такую ​​как имя, фамилия, пол, день рождения и т. Д.

2) Сохраните их в переменных, таких как $ first_name, $ last_name и т. Д.

3) Назначьте эти переменные для сеансов следующим образом:

 $first_name = $_SESSION['User']['first_name']; $birthday = $_SESSION['User']['birthday']; 

При выходе из системы просто уничтожьте сеанс session_destroy() .

что-то вроде:

 <div style="float:left;">User Name:</div><div style="margin-left:100px;"><?php=$_SESSION['username']?></div> <div style="float:left;">User Surname:</div><div style="margin-left:100px;"><?php=$_SESSION['surname']?></div> 

Каковы другие имена переменных сеанса?