上传网站,配好了登录后台不知道为什么是这样的

img


网站但是我还是会一小点的,不懂代码,不知道这个是什么问题,后台登陆是这样的,也登录不了
common.php

<?php
@header("content-Type: text/html; charset=utf-8");
date_default_timezone_set('Asia/Shanghai');
date_default_timezone_set('PRC');
error_reporting(E_ALL & ~E_NOTICE);
session_start();
//if(defined('IN_CRONLITE'))return;
define('SYSTEM_ROOT', dirname(__FILE__).'/');
define('ROOT', dirname(SYSTEM_ROOT).'/');
define('TEMPLATE_ROOT', ROOT.'Template/');
define('PAYTEMPLATE_ROOT', ROOT.'Submit/Template/');
if (phpversion() < '5.6') {
    exit('<!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>站点提示信息</title>
        <style type="text/css">
html{background:#eee}body{background:#fff;color:#333;font-family:"微软雅黑","Microsoft YaHei",sans-serif;margin:2em auto;padding:1em 2em;max-width:700px;-webkit-box-shadow:10px 10px 10px rgba(0,0,0,.13);box-shadow:10px 10px 10px rgba(0,0,0,.13);opacity:.8}h1{border-bottom:1px solid #dadada;clear:both;color:#666;font:24px "微软雅黑","Microsoft YaHei",,sans-serif;margin:30px 0 0 0;padding:0;padding-bottom:7px}#error-page{margin-top:50px}h3{text-align:center}#error-page p{font-size:9px;line-height:1.5;margin:25px 0 20px}#error-page code{font-family:Consolas,Monaco,monospace}ul li{margin-bottom:10px;font-size:9px}a{color:#21759B;text-decoration:none;margin-top:-10px}a:hover{color:#D54E21}.button{background:#f7f7f7;border:1px solid #ccc;color:#555;display:inline-block;text-decoration:none;font-size:9px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;-webkit-border-radius:3px;-webkit-appearance:none;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.button.button-large{height:29px;line-height:28px;padding:0 12px}.button:focus,.button:hover{background:#fafafa;border-color:#999;color:#222}.button:focus{-webkit-box-shadow:1px 1px 1px rgba(0,0,0,.2);box-shadow:1px 1px 1px rgba(0,0,0,.2)}.button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}table{table-layout:auto;border:1px solid #333;empty-cells:show;border-collapse:collapse}th{padding:4px;border:1px solid #333;overflow:hidden;color:#333;background:#eee}td{padding:4px;border:1px solid #333;overflow:hidden;color:#333}
        </style>
    </head>
    <body id="error-page">
        <h3>站点提示信息</h3>
        当前PHP版本('.phpversion().'),请切换到5.6以上方可使用!
    </body>
    </html>');
}

include("config.php");
include("authcode.php");
try {
    $hsot=$dbconfig['hsot'];
    $dbname=$dbconfig['dbname'];
    $dbh = new PDO("mysql:host=$hsot;dbname=$dbname", $dbconfig['user'], $dbconfig['pwd']);
} catch (PDOException $e) {
    //exit(json_encode(array('code'=>404,'msg'=>'链接数据库失败:'.$e->getMessage())));
    exit('链接数据库失败:'.$e->getMessage());
}

require_once("sendmail.php");
require_once("obtanin.php");
/**
*邮件调用代码 
*if (send_mali("3585812979@qq.com","标题","<p>内容</p>")) {
*    echo "成功";
*} else {
*    echo "失败";
*}
**/
?>

login.php

<?php
include("../core/login.php");
if (isset($_GET['logout'])) {
    setcookie("admin","",time()-604800);
    exit("<script language='javascript'>alert('你已注销本次登录');window.location.href='./login.php';</script>");
}elseif ($is_admin==1) {
    exit("<script language='javascript'>alert('你已登录');window.location.href='./';</script>");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>后台登录</title>
    <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
    <link rel="stylesheet" href="../css/login.css">
    <link rel="stylesheet" href="../css/bootstrap.min.css">
</head>
<body>
    <!-- 模态框 -->
    <div class="modal fade" id="myModal">
    <div class="modal-dialog">
      <div class="modal-content">
   
        <!-- 模态框头部 -->
        <div class="modal-header">
          <h4 class="modal-title" id="title">加载中</h4>
          <button type="button" class="close" data-dismiss="modal">&times;</button>
        </div>
   
        <!-- 模态框主体 -->
        <div class="modal-body">
            <div style="display: flex; justify-content: center;" id="gif"><img src="../img/Loading.gif" alt="" width="200px" height="200px"></div>
            <p id="text"></p>
        </div>

        <!-- 模态框底部 -->
      <div class="modal-footer" style="display: none;" id="bottom">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
        <button type="button" class="btn btn-primary" id="btnan">确定</button>
      </div>
      </div>
    </div>
  </div>
    <section class="back">
            <div class="imgbox"><img src="../img/404.svg" alt=""></div>
        <form action="form">
            <h2>登录后台</h2>
            <input type="text" name="user" id="user" placeholder="请输入账号">
            <input type="password" name="pass" id="pass" placeholder="请输入密码">
            <p id="login">登录</p>
        </form>
    </section>
    <script src="../js/jquery-3.6.0.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
    <script>
        $(document).ready(function(){
            $("#login").click(function(){
                $("#myModal").modal("show");
                $("#title").text("加载中");
                $("#gif").css("display","flex");
                $("#text").text("");
                $("#bottom").css("display","none");
                var user=$("#user").val();
                var pass=$("#pass").val();
                $.ajax({
                    type: "POST",
                    url: "ajax.php?act=login",
                    data: {"user":user,"pass":pass},
                    dataType: "json",
                    timeout: 15000,
                    success: function(data){
                        $("#title").text("网站提示");
                        $("#gif").css("display","none");
                        $("#text").text(data.msg);
                        if(data.code==1){
                            $("#bottom").css("display","flex");
                        }
                    },
                    error: function(data){
                        $("#title").text("网站提示");
                        $("#gif").css("display","none");
                        $("#text").text("服务器错误");
                    }
                });
            });
            $("#btnan").click(function(){
                $("#myModal").modal("hide");
                location.href="./";
            });
        });
    </script>
</body>
</html>


代码发给我,我给你调试好

第一张图有报错的具体代码定位,截图看一下

看起来是有的变量没有定义造成的。

php页面写的有bug,变量未定义

报错发一下

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: php学习笔记:登录练习中的 2.登录login.php 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    建立一个登录接口,在接口接受变量后,密码采用md5的校验,非明文的方式去处理。然后查询用户表,匹配是否满足检索用户是否存在。如果存在建立起session状态,缓存用户id,并返回一个随机token缓存下来。

    这里写图片描述

    <?php
    
       //1.验证接口,接收数据,过滤数据合法性
       //2.构建数据库链接
       //3.md5 验证数据库用户密码
       //4.生成session,返回token,带时长,或者使用数据库插入token,每次用数据库检索
       //5.前端localStore 保存token,接口请求发送需要带上验证token匹配
    
        header('Content-Type: application/json');
        header('Content-Type: text/html;charset=utf-8');
        $userName = $_POST['userName'];
        $userPwd = md5($_POST['userPwd']);
        $conn = mysql_connect("localhost","root","") or die('Could not connect: ' . mysql_error());
    
        mysql_select_db("test",$conn);
        mysql_query("set name utf-8");
    
        //查询结果验证
        $sql = "select * from user where name ='$userName' and pwd = '$userPwd'";
        $result = mysql_query($sql);
    
        if($data=mysql_fetch_array($result))
        {
            session_start();//启动session
            $_SESSION['name'] = $data['name'];
            $_SESSION['uid']  = $data['id'];
    
            //生成token 返回给前端
            $token = createToken();
            $_SESSION['token'] = $token;
    
            //返回一个结果
            output(200,$token,'success');   
        }
        else
        {
            output(400,'','密码或帐号出错');       
        }
        mysql_close($conn);
        //生成不重复的token,利用网上一个算法
        function createToken()
        {
            $token = md5(uniqid(md5(microtime(true)),true));
            $token = sha1($token);  
            return $token;  
        }
    
        function output($code,$token,$msg='')
        {  
            $outputData = array();
            $outputData['code'] = $code;
            $outputData['token'] = $token;
            $outputData['msg'] = $msg;
            echo json_encode($outputData);
        }
    
    ?>

    用户表 user
    这里写图片描述

    目前token方案在讨论后有两种:
    1.采用session,对每一个用户记录
    2.采用一个token 表。这张表有id ,token ,expire_time (过期时间), 维护好这张表,检索接口用户凭证。每次会通过session 或者表去检索,登录后会重新刷新时效性。

    返回状态码说明:200 成功,400失败

  • 以下回答来自chatgpt:

    根据提供的参考资料,登录后台的问题可能有以下几个原因:

    1. 数据库连接问题:首先需要确保连接数据库的配置信息正确,包括主机名、用户名、密码和数据库名。请检查conn.php文件,确保其中的连接相关信息准确无误。

    2. 表单提交问题:在login.php文件的代码中,获取用户名和密码的方式是使用$_POST全局变量,需要确保页面中的表单元素的name属性与代码中的$_POST变量名一致,比如<input type="text" name="username"><input type="password" name="password">。请检查登录页面的HTML代码,确保表单元素的name属性正确。

    3. SQL查询问题:在login.php文件中,有一段SQL查询的代码,需要确保查询的表和字段名正确,并且用户名和密码是存储在数据库中的。请检查数据库中的表和字段名是否与代码中的查询语句一致。

    综上所述,可能原因是数据库连接配置问题,表单提交问题或SQL查询问题。请逐一检查以上步骤,确保配置正确后尝试重新登录后台。如果问题仍然存在,请提供更多的错误信息或日志,以便进行更详细的排查。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^