会话的登录表单错误


Login form error with session

我想知道我丢失的错误在哪里。

我的表格就像这个

<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. john.wick@yahoo.com"/> <span class="warning" id="emailWarning"> </p>
        <p> <label class="inputField" > Password : </label> </p>
        <p> <input class="registerField" id="textpwd" name="password" required="required" type="password" placeholder="Your password"/> </p>
    <p> <input name="submit" class="registerButton" type="submit" value="LOGIN"> </p>

loginAction.php,位于下方的以下代码

    <?php
// Report all PHP errors
error_reporting(-1);
session_start();
include 'dbconnect.php';
$username = $_POST['email'];
$password = $_POST['password'];
$username = mysqli_real_escape_string(stripslashes($username));
$password = mysqli_real_escape_string(stripslashes($password));
$loginUser = "  SELECT registerPassword, emailAddress FROM register_user
                WHERE emailAddress = '$username' AND registerPassword = '$password'";
$loginSuccess = mysqli_query($mysqli, $loginUser) or die(mysqli_error($mysqli));
$loginRow = mysqli_num_rows($loginSuccess);
if($loginRow == 1) {
    // $_SESSION['login_user'] = $username;
    echo "SUCCESSFUL LOGIN";
    //header ("Location: index");
    } else {
        echo "YOU WRONG";
    }
mysqli_close($mysqli);

?>

答案是你错了即使密码和电子邮件是一样的。我知道我还没有完成会话,但这无法登录,所以我无法对会话做进一步的操作。

您的表单字段名称是电子邮件而不是username更改

$username = $_POST['username'];

$username = $_POST['email'];

还涉及错误报告和

在打开类似<?php session_start(); 的php标记之前删除空格

您将$username = $_POST['username'];放入loginAction.php

将其更改为$username = $_POST['email'];

因为在你的表格中你写着:

<input id="emailid" name="email" type="text"/>

if($loginRow!=0) {
    // $_SESSION['login_user'] = $username;
    echo "SUCCESSFUL LOGIN";
    //header ("Location: index");
    } else {
        echo "YOU WRONG";
    }