php oop 使用 ajax 登录失败

2024-04-05

我已经使用 php oops 和 ajax 作为登录按钮完成了登录页面。 if(isset($result["username"])!="") 它以 Json 类型返回错误的详细信息。 if(isset($result["username"])=="") 其返回成功的 Json 类型。当我给出错误的用户详细信息 if(isset($result["username"])=="") 其返回成功并进入welcome.php页面时,请帮助我。当我提供正确的用户详细信息 if(isset($result["username"])!="") 时,它返回错误的详细信息。请帮我找出这个错误

登录.php:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Log in</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="assests/style.css" rel="stylesheet">
    <script src="assests/jquery-1.11.1.min.js"></script>
    <script src="assests/bootstrap.min.js"></script>
    <style>
      form{
        padding-left:30%;
        padding-top:8%;
      }

      h4{
        padding-left:25%;
        padding-bottom:5%;
      }
    </style>
</head>
<body>
<form class="form-horizontal" action='javascript:void(0)' method="POST" id="form">
  <fieldset>
    <div  id="legend">
      <h4>Sign In</h4>
    </div>
    <div class="control-group">
      <!-- Fullname -->
      <label class="control-label"  for="username">Username</label>
      <div class="controls">
        <input type="text" id="username" name="username" placeholder="" class="input-xlarge" required="true">
      </div>
    </div>


    <div class="control-group">
      <!-- Password-->
      <label class="control-label" for="password">Password</label>
      <div class="controls">
        <input type="password" id="password" name="password" placeholder="" class="input-xlarge" required="true">
      </div>
    </div>

 

 
    <div class="control-group">
      <!-- Button -->
      <div class="controls">
        <button class="btn btn-success" type="submit"  id="submit" name="signin">Signin</button>
        <input type="hidden" name="type" value="show" id="hidden" >
      </div>
    </div>

 <div class="control-group">
      <!-- Button -->
      <div class="controls">
      Not Registered yet? <a href="index.php">Register Here</a>
      </div>
    </div>
  </fieldset>
</form>
<script type="text/javascript">
                        $(document).ready(function(){
                            $("#form").submit(function(){
                                var username=$("#username").val();
                                var password=$("#password").val();
                                    if(username!="" && password!=""){
                                        $.ajax({
                                            url:"login.php",
                                            data:$("#form").serialize(),
                                            type:"POST",
                                            dataType:"JSON",
                                                success:function(data){
                                                    if(data.return=="success"){
                                                        window.location.href="welcome.php";
                                                    }
                                                        else{
                                                            alert(data.return);
                                                        }
                                                }
                                        })
                                    }
                            });
                        });

</script>
</body>
</html>

登录.php:

<?php
session_start();

include("config.php");


$data=new Database();

if(isset($_POST['type']) && ($_POST['type']) =="show"){

    $username=$_POST["username"];
    $password=$_POST["password"];

    $result=$data->fetch("tblusers","*", $username, $password);
        if(isset($result["username"])==""){
            $_SESSION["username"]=$username;
            echo json_encode(['return'=>"success"]);
        }
        else{
            echo Json_encode(['return'=>"wrong Details"]);
        }
} 
?>

config.php: 函数名(fetch())

<?php
   
   class Database 
   {
      private $servername = "localhost";
      private $username   = "root";
      private $password   = "";
      private $dbname = "crud_oops";
      public $con;
      public $customerTable = "customers";

      public function __construct()
      {
         try {
            $this->con = new mysqli($this->servername, $this->username, $this->password, $this->dbname);   
         } catch (Exception $e) {
            echo $e->getMessage();
         }
      }

      // Insert customer data into customer table
      public function insertRecond($name, $email, $username, $dob)
      {
         $sql = "INSERT INTO $this->customerTable (name, email, username, dob) VALUES('$name','$email','$username','$dob')";
         $query = $this->con->query($sql);
         if ($query) {
            return true;
         }else{
            return false;
         }
      }

      // Fetch customer records for show listing
      public function displayRecord()
      {
         $sql = "SELECT * FROM $this->customerTable";
         $query = $this->con->query($sql);
         $data = array();
         if ($query->num_rows > 0) {
            while ($row = $query->fetch_assoc()) {
               $data[] = $row;
            }
            return $data;
         }else{
            return false;
         }
      }

      // Fetch single data for edit from customer table
      public function getRecordById($id)
      {
         $query = "SELECT * FROM $this->customerTable WHERE id = '$id'";
         $result = $this->con->query($query);
         if ($result->num_rows > 0) {
            $row = $result->fetch_assoc();
            return $row;
         }else{
            return false;
         }
      }


      public function totalRowCount(){
         $sql = "SELECT * FROM $this->customerTable";
         $query = $this->con->query($sql);
         $rowCount = $query->num_rows;
         return $rowCount;
      }
   

      // Update customer data into customer table
      public function updateRecord($id, $name, $email, $username, $dob)
      {
         $sql = "UPDATE $this->customerTable SET name = '$name', email = '$email', username = '$username', dob = '$dob' 
         WHERE id = '$id'";
         $query = $this->con->query($sql);
         if ($query) {
            return true;
         }else{
            return false;
         }
      }

      // Delete customer data from customer table
      public function deleteRecord($id)
      {
         $sql = "DELETE FROM $this->customerTable WHERE id = '$id'";
         $query = $this->con->query($sql);
         if ($query) {
            return true;
         }else{
            return false;
         }
      }

      
// for username availblty
      public function usernameavailblty($uname) {
      $result =mysqli_query($this->con,"SELECT Username FROM tblusers WHERE Username='$uname'");
      return $result;
         
   }
   
   // Function for registration
      public function registration($fname,$uname,$uemail,$pasword)
      {
      $ret=mysqli_query($this->con,"insert into tblusers(FullName,Username,UserEmail,Password) values('$fname','$uname','$uemail','$pasword')");
      return $ret;
      }
   
   // Function for signin
      public function fetch( $table,$condition,$username,$password){
      $sql="SELECT * FROM tblusers WHERE Username='$username' AND Password='$password'";
      $result=$this->con->query($sql);
      $row=$result->fetch_assoc();
      return $row;
      }

   }

?>

在登录.php中

if(isset($result["username"])==""){

改成

if(isset($result[0]["username"])==""){

看起来像在 config.php 中,函数 fetch 返回一个关联数组

为了帮助您调试,请尝试在此方法中使用 var_dump($row)

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

php oop 使用 ajax 登录失败 的相关文章

  • 关于加拿大短信网关提供商的建议[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我很好奇 如果我能够接受传入的短信到某个号码 然后将其传递给 PHP 中的服务器端应用程序 会带来多少麻烦 金钱 我最终会通过电子邮件地址发回短信 有
  • 覆盖供应商自动加载编辑器

    有没有办法让您创建的自动加载文件在调用供应商自动加载之前运行 我们似乎遇到了 SimpleSAML 的自动加载覆盖我们创建的自动加载文件之一的问题 我是 Composer 的新手 似乎无法在网上找到任何解决方案 我尝试将我们的自动加载文件包
  • session_regenerate_id 没有创建新的会话 id

    我有一个脚本 旨在完成当前会话并开始新的会话 我使用了一段代码 它在我的开发计算机上运行良好 但是 当我将其发布到生产服务器时 会话 ID 始终保持不变 以下是我重新启动会话的代码 session start SESSION array P
  • ASP.Net MVC AJAX 链接不起作用

    为了实现 AJAX 登录 我在我的页面上有这个链接 附近有一个 id 为 lll 的 div 当我单击该链接时 我得到了无聊的确认 只是出于调试目的而添加 没有它的行为是相同的 但然后什么也没有发生 没有请求到达服务器 因为我在 LogOn
  • 具有动态表单名称的 form_widget

    在我的 Twig 模板中 我有一个 FOR 循环 它创建多个表单 如下所示 for thing in things set form id myform thing Id set form name attribute form myfor
  • TOMCAT 6 中的 PHP - 异常

    我一直在努力融入PHP in APACHE TOMCAT 6依照指示second answer为了QUESTION https stackoverflow com questions 779246 run a php app using t
  • 如何以编程方式获取 WooCommerce 中的所有产品?

    我想获取 WooCommerce 中的所有产品数据 产品 sku 名称 价格 库存数量 可用性等 我可以使用 wp query 来做到这一点吗 这样你就可以通过 wp query 获取所有产品 global wpdb all product
  • 使用日语“Enter”键进行搜索功能

    我在日语方面遇到了问题 我有一个允许用户搜索数据的表单 当用户输入要搜索的字符串并按 Enter 键时 搜索功能就会执行 我的代码是 formSearch input keyup function event var key event c
  • 在 Woocommerce 购物车中设置最小小计金额

    我正在尝试将最低订单金额设置为 25 美元 到目前为止 我找到了这段代码 如果未达到最低限度 它似乎可以阻止结账 但它使用的小计包含税费 我需要在总计中排除税费 add action woocommerce checkout process
  • Azure 应用服务在配置中添加字符串数组

    Net core 应用程序并在 Azure 应用服务中部署该应用程序 在我的应用程序中 我有一个包含以下内容的应用程序 settings json 文件 Roles Roles Admins Users 我的 ARM 模板中有以下配置 参数
  • 处理 fanart.tv Web 服务响应 JSON 和 C#

    我正在尝试使用 fanart tv Webservice API 但有几个问题 我正在使用 Json Net Newtonsoft Json 并通过其他 Web 服务将 JSON 响应直接反序列化为 C 对象 这里的问题是元素名称正在更改
  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • 如何在 ASP.NET MVC 3 的 Razor 视图中编码嵌入的 javascript?

    如何在以下上下文中正确编码 JavaScript 我的 JSON 对象中的值是由应用程序管理员设置的 因此我假设它们需要正确编码 对于 HTML 和 JavaScript 都是如此 我在用着System Web Script Seriali
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • Zend Framework Zend_Form 装饰器: 位于按钮元素内部?

    我有一个像这样创建的按钮元素 submit new Zend Form Element Button submit submit gt setLabel My Button submit gt setDecorators array Vie
  • 如何在 codeigniter 查询中使用 FIND_IN_SET?

    array array classesID gt 6 this gt db gt select gt from this gt table name gt where array gt order by this gt order by q
  • 为什么 PHP 中不允许“传统”类型提示?

    刚刚发现类型提示 http php net manual en language oop5 typehinting phpPHP 中允许 但不适用于整数 字符串 布尔值或浮点数 为什么 PHP 不允许对整数 字符串等类型进行类型提示 从 P
  • mysqli bind_param 中的 NULL 是什么类型?

    我正在尝试将参数绑定到 INSERT INTO MySQLi 准备好的语句 如果该变量存在 否则插入 null 然后我知道 type variable i corresponding variable has type integer d
  • 如何使用 Google 帐户对我们网站中的用户进行身份验证

    如何在我们的网站中使用 Google 帐户对用户进行身份验证 我希望用户重定向到谷歌登录页面 然后将他重定向到我的网站 我想要这个 PHP 实现 你要OAuth http code google com apis accounts docs
  • 文件修改时间检查的成本

    对于Linux下包含少量字节的文件 我只需要处理自上次处理以来发生更改的时间 我通过调用 PHP 检查文件是否被更改clearstatcache filemtime 定期 由于整个文件总是很小 因此删除对 filemtime 的调用并通过将

随机推荐

  • onEdit 可以以编程方式创建触发器吗?

    我编写了一个简单的脚本 尝试以编程方式从 onEdit 函数创建脚本 function onEdit test function test triggerLater function customMsgBox Browser msgBox
  • Simulink/HDL Coder 中的反馈循环

    我有一个 Simulink HDL 编码器系统 请参见下图 我有 3 个输出和 3 个输入 我希望我的系统运行 10 次 每次迭代后 它应该选择输出并将它们用作输入 我怎样才能做到这一点 使用存储器和每个信号的初始值块构建一个循环 内存块允
  • 一家大型、分散的公司应该如何与 iOS 开发者计划合作?

    I think这是SO的工作 而不是程序员 https softwareengineering stackexchange com 如果我错了请告诉我 我在一家公司工作 该公司在全国 美国 各地设有多个办事处 我所在的部门希望获得 Appl
  • 如何检查函数的类型参数是否静态解析?

    非常简单的例子 let myfun x x在智能感知中 它显示 x a gt a 在 FSI 中 它显示 x a gt a let inline myfun x x在智能感知中 它显示 x a gt a 在 FSI 中 它显示 x a gt
  • msbuild SLN 并且仍然获得单独的项目输出?

    我有一个普通的 SLN 文件 我可以从命令行使用 msbuild 很好地编译它 我这样做 C slndir gt msbuild p OutDir C slnbin 它将所有内容转储到 C slnbin 但网站除外 网站部署到 C slnb
  • 按属性对 XML 文件进行排序

    我有以下 XML 代码
  • 如何通过JSON的replacer函数对对象进行字符串化?

    这是我的代码 BAD a 2 b 1 c Nexus d Alligator e 5 f 1431807036 g 2 w 17 b 5 console log JSON stringify BAD a
  • 组图模式在 SPARQL 中如何工作

    首先 我不知道这是否真的称为组图模式 反正 请看看这个查询 select x y where x rdf type rs Recommendable union xd rs doesntexist y 有no rs doesntexist但
  • Paramiko:从公钥字符串创建 PKey

    我试图在低级别使用 SSH 协议 即我不想启动 shell 或任何东西 我只想传递数据 因此 我正在使用Paramiko的Transport http www lag net paramiko docs paramiko Transport
  • 乐谱库

    我是一名 Python 黑客 希望构建一个乐谱应用程序 我很擅长阅读 理解乐谱 弹钢琴多年 这是我完整的新手问题 是否有以数字方式表示笔记的标准 我不想重新发明任何轮子 给定一系列音符和持续时间 是否有一个库可以以乐谱格式显示这些内容 基本
  • 为什么我收到 422 错误代码?

    我正在发出 POST 请求 但除了 422 响应之外无法获得任何内容 Vue js 客户端代码 new Vue el app data form companyName street city state zip contactName p
  • iOS:Facebook 聊天头行为和动画

    这个问题可能有点过时了 但我一直在使用新的 iOS 版 Facebook 的 聊天头 功能 聊天头仅出现在应用程序中 并且想知道 Facebook 是如何实现这一点的 例如 他们如何处理聊天头的拖动动画 以及 当单击聊天头时 他们如何设法将
  • 在redux中间件中使用react-router进行重定向

    我创建了一个中间件来检查请求是否返回无效的访问响应 如果状态是 401 我想将用户重定向到登录页面 这是中间件代码 import React from react import push replace from react router
  • TPageControl 上的 TLinkLabel 背景

    我试图在 TPageControl 上使用 TLinkLabel 但找不到让它使用父级背景的方法 Image removed because the website doesn t exist any more and I can t fi
  • iOS 文本字段验证

    我需要一种方法来确保电话号码有 10 位数字 没有其他字符 即 并确保电子邮件地址是有效的电子邮件 格式正确 有没有任何库不能让我轻松做到这一点 这样我就不必编写正则表达式了 这将检查 UITextField 是否包含 10 位或更少的正确
  • 如何设置使用 ChartFactory.createBarChart 创建的 BarGraph 的 Y 轴范围

    我使用创建了一个条形图jfree chart ChartFactory使用下面的代码 我需要将Y轴的范围设置为0 100 如何设置最大值 import java io File import org jfree chart ChartFac
  • 在 Swift 中仅更改 AttributedText 的字体

    我在 IB 中创建了许多 UILabel 它们都有属性文本 每个标签的文本包含多行不同字体大小和颜色 在运行时 我希望能够仅更改这些标签的字体名称 而不更改现有的字体大小或颜色 我进行了研究 但找不到直接的方法来实现这一目标 有任何想法吗
  • 在现有 Firebase 项目目录中初始化 firebase CLI 功能

    我正在尝试将 托管 功能添加到已安装 Functions 的 Firebase 项目文件中 所以我想知道我是否可以使用 Firebase Init 来做到这一点 否则这将删除我现有的 firebase 功能 无论如何 我可以在不删除 Fir
  • Parallel.ForEach 和 DataTable - DataTable.NewRow() 不是线程安全的“读取”操作吗?

    我正在转换现有的应用程序以利用多个处理器 我有一些嵌套循环 并且我已将最内层循环转换为 Parallel Foreach 循环 在原始应用程序中 在最内层循环内 代码将调用DataTable NewRow 要实例化适当布局的新 DataRo
  • php oop 使用 ajax 登录失败

    我已经使用 php oops 和 ajax 作为登录按钮完成了登录页面 if isset result username 它以 Json 类型返回错误的详细信息 if isset result username 其返回成功的 Json 类型