Это будет выглядеть так:
<?php
session_start();
if (isset($_POST['login'])) {
$email = mysqli_real_escape_string($db, $_POST['email']);
$password = mysqli_real_escape_string($db, $_POST['password']);
$mobile = mysqli_real_escape_string($db, $_POST['mobile']);
if (empty($email) || empty($mobile)) {
array_push($errors, "Email Or mobile number is required");
}
if (empty($password)) {
array_push($errors, "Password is required");
}
if (count($errors) == 0) {
$password = md5($password);
$query = "SELECT * FROM farmers WHERE (email='$email' OR mobile='$mobile') AND password='$password'";
$result = mysqli_query($db, $query);
if (mysqli_num_rows($result) == 1) {
$_SESSION['email'] = $result['email'];
$_SESSION['username'] = $result['username'];
$_SESSION['loggedin'] = "1";
header('location: account_activation.php'); //redirect to survey
} else {
array_push($errors, "Wrong email/Mobile number or Password combination");
}
}
}
?>
//account_activation.php
<?php
include ('server.php');
if ($_SESSION['loggedin'] != "1") {
header('location: login.php');
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="description" content=""/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial- scale=1, shrink-to-fit=no"/>
<title>Account Activation</title>
<link rel="stylesheet" type="text/css" href="survey.css"/>
</head>
<body>
<div class="header">
<h2>Account activation</h2>
</div>
<div class="content">
<?php
if (isset($_SESSION['loggedin'])):
?>
<div class="error success">
<h3>You're logged in</h3>
</div>
<?php
endif;
?>
<?php
if (isset($_SESSION["username"])):
?>
<p>Welcome <strong><?= $_SESSION['username']; ?></strong> </p>
<p><a href="survey.php?logout='1'" style="color: red;">LogOut</a> </p>
<?php
endif;
?>
Чтобы получить имя пользователя из таблицы, вам нужно использовать это: $ result ['username'];(Предполагается, что в таблице фермеров есть столбец с именем пользователя.)
Чтобы отобразить имя пользователя, используйте короткие теги (необходимо включить в php.ini)
Не забудьте выйти() после перенаправления заголовка.Хакер может заблокировать запрос на перенаправление и увидеть страницу ниже.Всегда блокируйте исполнение.Это также быстрее, так как сервер не загружает всю страницу.
Также я заметил, что ошибка PHP
if (empty($email or $mobile))
должна быть
if (empty($email) || empty($mobile))
У вас было несколько HTMLошибки тоже.Самозакрывающиеся теги HTML должны быть закрыты следующим образом:
<meta name="description" content=""/>
Обратите внимание на / в конце.
Последний комментарий ... Ваша идентификация ужасна ... Это очень плохопривычка.Вы явно начинаете с кодирования, и вам действительно следует приложить некоторые усилия.
Этот ваш вопрос мог бы быть решен путем поиска в Google «Как получить данные из MySQL с помощью mysqli_query ()».
Stack - это не веб-сайт, на котором мы делаем всю работу за вас.Если вы задаете вопрос, убедитесь, что вы показали, что вы пробовали и в чем проблема.«Как вы это делаете» без предоставления кода того, что вы попробовали, не подходит для данного сайта.В любом случае, удачи в вашем путешествии!