如何在基于 php 的系统中的同一页面上显示登录错误消息?

2024-03-27

我正在构建一个基于 php 的登录系统,用户需要输入用户名和密码才能登录。我的问题是“如何在同一页面上显示‘无效的用户名或密码’错误消息”?我尝试了很多事情,包括尝试使用查询字符串 (/?error=1);它确实通过在同一页面上显示错误消息来解决我的问题,但所有 CSS 都从页面上消失了,我找不到解决它的方法(但不是因为缺乏尝试)。所以我决定尝试一种更简单的方法,但显然行不通。 那么,我该如何修复它呢? 这是我的 PHP 代码:

<?php
session_start();
$db = mysqli_connect("localhost","root","","combination");
if(isset($_POST['login_btn'])){

    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);

    $password=md5($password);
    $sqlquery="SELECT * FROM registration WHERE username='$username' AND password='$password'";
    $result = mysqli_query($db,$sqlquery);


    if(mysqli_num_rows($result)==1){

        $_SESSION['message']="You are now logged in.";
        $_SESSION['username'] = $username;
        $_SESSION['password'] = $password;

        header("location:loginhome.php");
    }
    else{
        $_SESSION['message']="Incorrect Username or Password."; 
        header("location:login.php");
        echo '<h3>Invalid username or password</h3>';
    }

}
?>

这是一个可以帮助您的简单示例。你需要使用$_SESSION变量。

登录.php:

<?php
session_start();
?>

<!DOCTYPE html>

<html>

    <head>
        <title>Login</title>
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>

    <body>
        <form action="check.php" method="POST">
            <input type="text" class="input" name="username" placeholder="username">
            <input  type="password" class="input" name="pass" placeholder="pass">
            <input class="button" type="submit" id="login" name="login" value="login">  
                <?php
                    if(isset($_SESSION["error"])){
                        $error = $_SESSION["error"];
                        echo "<span>$error</span>";
                    }
                ?>  
        </form>
    </body>
</html>

<?php
    unset($_SESSION["error"]);
?>

检查.php:

<?php

session_start();

$username = $_POST["username"];
$error = "username/password incorrect";

if($username == "admin"){
    $_SESSION["username"] = $username;
    header("location: homepage.php"); //send user to homepage, for example.
}else{
    $_SESSION["error"] = $error;
    header("location: login.php"); //send user back to the login page.
}

?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在基于 php 的系统中的同一页面上显示登录错误消息? 的相关文章

  • 动态 PayPal 按钮生成 - 这不是很不安全吗?

    我只是想知道 PayPal 按钮不是动态创建的 非常不安全并且很容易被 破解 吗 Like so
  • 如何解决curl php中的HTTP/1.1 400 Bad Request

    我必须打一个 aspx来自 php 代码的页面 url 我试图使用curl 来访问 但出现以下错误并且 url 中没有空格 HTTP 1 1 400 Bad Request Content Type text html charset us
  • PHP 通过 FTP 下载整个文件夹(递归)

    我目前有一个非常大的网站 大小约为 5GB 包含 60 000 个文件 当前主机并没有做太多事情来帮助我将网站转移到新主机 我的想法是在新主机上制作一个简单的脚本 通过 FTP 传输到旧主机并下载整个 public html 文件夹 递归地
  • 被黑了!这段 PHP 代码的作用是什么?我应该如何避免? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overfl
  • 获取 $_SERVER['AUTH_USER'] 的空白值

    我有一个在 Windows 2008 Server R2 上运行的 PHP 应用程序 它使用 PHP 的 LDAP 库根据 Active Directory 对用户进行身份验证 As per 这个答案 https stackoverflow
  • 如何使用 PHP 将数据添加到现有 Excel 文件?

    我有一个包含表单和控件的 Excel 文件 由于不可能使用 PHP 从头开始 创建包含表单 控件和 VBA 代码的 Excel 文件 因此我想我可以将空 Excel 文件上传到服务器 更新它 然后让用户下载它 我知道有一些非常好的 PHP
  • 获取 UNIX 时间戳的正确小时

    我认为这是一个愚蠢的问题 但似乎我找不到答案 我有这个时间戳 1295598602 在我的 php 脚本中我有 date date 年月日 1295598602 小时 日期 H 1295598602 00 这将返回 日期 2011 01 2
  • MySQL“GROUP BY NULL”是做什么的?

    我正在维护一些遗留代码 其中有一个我不理解的 SQL 查询 我希望这里有人可以向我解释这样做的目的 查询如下所示 select from product performance where merchantid 2151277 and cl
  • Laravel Eloquent:计算总价的最佳方法

    我正在使用 Laravel 5 1 构建一个简单的买卖应用程序 每个Buy Model都有很多BuyDetail 里面存储了购买的商品数量和buy price 我已经在模型上实现了表之间的关系 class Buy extends Model
  • Android文件上传器与服务器端php

    我几个小时以来一直在寻找解决方案 但找不到任何解决方案 基本上 我想从我的 Android 设备上传文件到 http 网站 但是 我不知道如何做到这一点 我在设备上使用java 并且我想在服务器端使用PHP 我只想上传文件 而不是在服务器上
  • 在列名中使用保留字

    这是一些简单的代码 但我只是不知道为什么我不能使用这个词作为表的实体 CREATE TABLE IF NOT EXISTS users key INT PRIMARY KEY NOT NULL AUTO INCREMENT username
  • Openshift MYSQL 环境变量未设置

    我的所有 MySQL 环境变量都会导致空字符串 例如 echo getenv OPENSHIFT MYSQL DB URL echo getenv OPENSHIFT MYSQL DB HOST 然而其他人 例如 回声 getenv OPE
  • PHP检查字符串是否包含多个单词

    我在互联网上查找了一些可以做到这一点的东西 但它只能用一个词来实现 我正在尝试构建一个脚本来检测我的网站的错误用户名 如果用户名包含数组中的任何单词 则将检测到错误的用户名 这是我编写的代码 但未能运行 bad words array yo
  • mysql非空字段计数

    我想计算 mysql 中特定字段集有多少字段为空 我找到了一些示例 但它们都遍历整个表 基本上我有8个字段 listing photo 1 到listing photo 8 我想知道其中有多少个被填充 I tried result mysq
  • 动态创建多个上传文件

    我想知道是否有人知道动态创建上传表单的最佳方法 这就是我想要实现的目标 下面显示的代码允许一次上传 我想要一个按钮 按下该按钮后 应添加另一种形式用于文件上传 因此 如果我想上传 假设有 7 个文件 我想按按钮 7 次来创建这些上传表单 每
  • 使用 PHP 将数据添加到 json

    我使用 json decode 创建一个 json 对象 在浏览了一些元素之后 我想向其中添加子元素 我该怎么做呢 取决于您传递给的选项json decode http php net manual en function json dec
  • 如何处理 php 7 中的“gd-png: fatal libpng error: Read Error: truncated data”

    我使用 php 7 0 22 Ubuntu 17 04 当一些用户上传带有截断数据的 PNG 时 我使用 a imagecreatefrompng path 然后我崩溃了 Fatal error imagecreatefrompng gd
  • 运行 php 脚本的 Bash 脚本

    我有一个 php 脚本 我想使用 bash 脚本运行它 所以我可以使用 Cron 每分钟左右运行 php 脚本 据我所知 我需要创建 bash 脚本来处理 php 脚本 然后我才能使用 Cron 工具 计时器 到目前为止 我被告知我需要输入
  • jQuery mobile 在 Opera Mini 浏览器中失败。如何获得错误输出?

    I have a jQuery Mobile http en wikipedia org wiki JQuery Mobile website that works great on normal browsers but it fails
  • 如何捕获 PHP 中的 cURL 错误

    我在用PHP curl功能 https php net manual en ref curl php将数据从我的本地计算机发布到网络服务器 我的代码如下 c curl init curl setopt c CURLOPT URL url c

随机推荐

  • 为什么在 window 对象中定义 body [重复]

    这个问题在这里已经有答案了 我只是在控制台上玩 注意到如果我输入 body它返回 这显然与window body 因此也返回了 Then document body也返回 正如预期的那样 因为身体是身体的一部分document对象 据我所知
  • CakePhp - 关联数据未保存(但主模型数据确实保存)

    所以 我在 CakePhp 中有一个使用 Formhelper 的表单 此表单中有两个关联模型 Booking 和 Guest 数据库表似乎设置正确 因为页面通过模型中的关联足够准确地填充了值 保存表单数据时 会保存预订信息 但不会保存宾客
  • 如何找出Oracle死锁的原因

    当使用多个用户测试我的应用程序时 我遇到了 ORA 00060 死锁错误 我不确定如何确定此错误的原因 因此如果有人可以帮助我 我将不胜感激 我查看了为此事件生成的跟踪文件 它显示了哪个查询导致了此事件 UPDATE TABLE A SET
  • Google Ads API - “失败,状态为“PERMISSION_DENIED” - “用户无权访问客户。”

    我正在尝试使用 Google ads API 运行 Ubuntu 20 04 Python 3 9 客户端库工作的最低要求是 3 6 使用 google ads api V6 这是我的痛苦故事 我创建了一个测试管理员帐户 A 生成了开发人员
  • 如何使用 grunt-sass 编译多个 scss 文件

    我正在尝试将多个 scss 文件编译为单个 CSS 文件 这实际上有效 但只获取第一个文件 sass Task dist files css test css sass scss 我们没有安装 ruby 所以 grunt contrib s
  • React Hooks:如何在 useEffect 中设置 State?

    我正在尝试从 firebase 获取数据并使用 useState 挂钩将检索到的数据设置为我的状态 我知道我的 API 调用正在工作 因为我可以从 firebase 记录数据 但当我使用 setState 时 它并没有达到我的状态 由于某种
  • 为什么 R 有时会停止显示输出?

    有时 R 会停止显示输出 我输入数字 1 然后按回车键 但什么也没有出现 这种情况是在我按下窗口中的 停止 图标后发生的 该图标用于停止长时间的计算 我在 Mac 上使用 R 2 11 0 按 STOP 是否会导致 R 停止显示输出 如何让
  • 使用 C# 比较嵌套对象属性

    我有一个方法可以比较两个对象并返回所有不同属性名称的列表 public static IList
  • 在 Java 中使用嵌套枚举类型

    我心中有一个涉及嵌套枚举的数据结构 这样我就可以执行如下操作 Drink COFFEE getGroupName Drink COFFEE COLUMBIAN getLabel 如果有方法声明 someMethod Drink type s
  • 从js数组中删除双引号

    我有这种类型的数组 80 529299450867271 7 3884550841172976 80 528953669541707 7 3875715810979612 80 528714422417153 7 3867339810469
  • 使用rvest,如何从submit_form()返回的对象中提取html内容

    我正在尝试从 pems dot ca gov 下载一些流量数据 如下这个话题 https stackoverflow com questions 28418770 using rvest or httr to log in to non s
  • Api 网关:用于 Lambda 集成的 AWS 子域

    我正在尝试将我的 lambda 函数与 API 网关集成 该函数必须异步运行 因为它需要太长时间 我相信我必须选择 AWS 服务 并指定 Lambda 而不是选择 Lambda 集成类型 例如 this http docs aws amaz
  • callgrind:如何检查一行是否执行

    是否可以使用 callgrind 产生像 gcov lcov 给出的输出一样的输出 我正在阅读他们的文档 无法找到 callgrind annotate 的确切选项 这是不可能的 但 callgrind annotate 或 kcacheg
  • Web API 项目在部署时不会运行 - 无法加载文件或程序集“Newtonsoft.Json,版本=4.5.0.0”

    当我部署 MVC 5 WEB API 项目时 我不断收到此错误 无法加载文件或程序集 Newtonsoft Json 版本 4 5 0 0 Culture neutral PublicKeyToken 30ad4fe6b2a6aeed 或其
  • Jquery 并将事件绑定到 iframe

    我目前正在使用 jquery textselect 插件根据页面上任何位置的选择文本来触发警报 并且它可以很好地执行以下操作 document ready function document bind textselect function
  • cron 作业替代品?

    我正在安装 Boonex 的 Dolphin 7 它要求我设置一个每 1 分钟运行一次的 cron 作业 然而 我的托管提供商允许我至少每 30 分钟运行一次 crons 我使用过 CMS 它有一个替代品 一个替代 cron 的脚本 有没有
  • Winforms 组件的父级/所有者[重复]

    这个问题在这里已经有答案了 从嵌入表单中的自定义 Winforms 组件中 如何获取父 所有者控件 我有一个 IContainer 并且 Site 属性不为空 但我不知道如何到达 真正的 父级 这是后续这个问题 https stackove
  • MongoDb:如果不存在,则将元素添加到数组[重复]

    这个问题在这里已经有答案了 我正在使用 node js 和 Mongodb 我是新使用 Mongod 的 我有一个这样的文档 Tag name string videoIDs array 这个想法是 服务器接收一个像这样的 JSON JSO
  • FOR /F 命令循环中的错误级别返回意外结果

    我正在尝试记录输出net stop同时还捕捉其ERRORLEVEL 基于这个问题 https stackoverflow com questions 3088712 我在嵌套子例程中尝试了以下操作 set a loopIndex 0 for
  • 如何在基于 php 的系统中的同一页面上显示登录错误消息?

    我正在构建一个基于 php 的登录系统 用户需要输入用户名和密码才能登录 我的问题是 如何在同一页面上显示 无效的用户名或密码 错误消息 我尝试了很多事情 包括尝试使用查询字符串 error 1 它确实通过在同一页面上显示错误消息来解决我的