Я пытался получить имя пользователя после входа в систему, используя электронную почту. Я сумел получить имя электронной почты, но не имя пользователя после того, как вошли вВойти, чтобы получить имя пользователя не по электронной почте
Посмотрите на код для login.php ниже:.
<form id="myForm" action="loginAction" name="login" method="POST">
<p> <label class="inputField" > Email Address : </label> </p>
<p> <input class="registerField" id="emailid" name="email" required="required" type="text" placeholder="eg. [email protected]"/> <span class="warning" id="emailWarning"> </p>
<p> <label class="inputField" > Password : </label> </p>
<p> <input class="registerField" id="password" name="password" required="required" type="password" placeholder="Your password"/> </p>
<p> <input name="submit" class="registerButton" type="submit" value="LOGIN"> </p>
</form>
Действие будет идти на loginAction.php
if(isset($_POST['submit'])) {
$username = trim($_POST['email']);
$password = trim($_POST['password']);
$username = $mysqli->real_escape_string($username);
$password = $mysqli->real_escape_string($password);
$salt = sha1(md5($password));
$epwd = md5($password.$salt);
$loginUser = " SELECT registerPassword, emailAddress, firstName, lastName FROM register_user
WHERE emailAddress = '$username' AND registerPassword = '$epwd'";
$loginSuccess = mysqli_query($mysqli, $loginUser) or die(mysqli_error($mysqli));
$loginRow = mysqli_num_rows($loginSuccess);
if($loginRow === 1) {
session_start();
$_SESSION['login'] = true;
$_SESSION['username'] = $username;
if ($_SESSION['login'] != '' || $_SESSION['login'] > 0)
echo $_SESSION['username'];
echo $_SESSION['firstName'];
echo $_SESSION['lastName'];
header ("Location: index");
} else {
header ("Location: loginRegError");
}
mysqli_close($mysqli);
}
И когда это получится логин, он будет идти на эту страницу ниже
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
include 'dbconnect.php';
if(isset($_SESSION['login']) && !empty($_SESSION['login'])) {
$firstName = $_SESSION['firstName'];
echo "<p> <a href=\"profileUser\"> $firstName </a>";
echo "<img src=\"images/logo/account.png\" /> </p>";
} else {
echo "<a href=\"loginReg\"> Login/Register </a>";
echo "<img src=\"images/logo/account.png\" /> </p>";
}
?>
ошибка показывает Примечание: Неопределенный индекс: firstName. Если я использую $_SESSION
для электронной почты, это сработало, но я хочу показать имя пользователя. Есть идеи?
где вы назначили '$ _SESSION ['firstName'];'? – itachi
Это внизу ** loginAction.php **. @itachi – Anthosiast
Я не вижу ни одной строки выше, где вы ее назначили. – itachi