Должен ли я подключиться снова, как я делал это в login.php?
Да. Так работает PHP и mysql
или есть другой способ, которым я могу просто вывести имя пользователя из таблицы MySQL?
Нет. Чтобы получить что-то из таблицы MySQL, вы должны сначала подключиться.
Вы можете поместить оператор connect в некоторый конфигурационный файл и включить его во все ваши скрипты.
Как я могу вывести полное имя пользователя, которое хранится в столбце 'fldFullName' в MySQL на main.php?
Вам понадобится некоторый идентификатор, чтобы получить правильную строку из базы данных. электронная почта может работать, но настоятельно рекомендуется вместо этого использовать поле идентификатора автоинкремента, которое будет сохранено в сеансе.
И в этот момент у вас нет ни $ loginemail, ни $ loginpassword в вашем последнем фрагменте кода, не так ли?
И некоторые примечания к вашему коду
любой оператор header("Location: ");
должен сопровождаться exit;
. Или не было бы никакой защиты вообще.
Любые данные, которые вы собираетесь поместить в запрос в кавычках, должны быть экранированы функцией mysql_real_escape_string()
. Без исключений.
итак, это будет так
include $_SERVER['DOCUMENT_ROOT']."/dbconn.php";
$loginemail = $_POST['loginemail'];
$loginpassword = md5($_POST['loginpassword']);
$loginemail = mysql_real_escape_string($loginemail);
$loginpassword = mysql_real_escape_string($loginpassword);
$query = "SELECT * FROM Members WHERE fldEmail='$loginemail' and Password='$loginpassword'";
$result = mysql_query($query) or trigger_error(mysql_error().$query);
if($row = mysql_fetch_assoc($result)) {
session_start();
$_SESSION['userid'] = $row['id']; // store session data
header("Location: main.php");
exit;
}
и main.php part
session_start();
if(!$_SESSION['userid']) {
header("Location: index.php");
exit;
}
include $_SERVER['DOCUMENT_ROOT']."/dbconn.php";
$sess_userid = mysql_real_escape_string($_SESSION['userid']);
$query = "SELECT * FROM Members WHERE id='$sess_userid'";
$result = mysql_query($query) or trigger_error(mysql_error().$query);
$row = mysql_fetch_assoc($result));
include 'template.php';