簡體   English   中英

如何查看數據庫中的數據?

[英]how to check the data in the database?

告訴我如何配置授權。 Php 我基本上知道,因為我不使用它,但我需要實現這個任務。 我希望當點擊按鈕授權通過並轉到另一個頁面時。 我不完全了解如何檢查數據庫中的數據並將其與用戶數據進行比較,如果有巧合,請重定向到另一個頁面。 您的 go 方法是否正確? 我該如何解決我的問題?

authdb.php

<?php
$dbname = "dictdb";
$username = "root";
$userpass = "";
$charset = "utf8";
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];

$userdata = [
    "logVal" => trim($_POST["logVal"]),
    "passVal" => trim($_POST["passVal"])
];

$db = new PDO("mysql:host=$dbhost;dbname = $dbname;charset=$charset", $username, $userpass, $options);
if (!empty(trim($_POST["logVal"])) && !empty(trim($_POST["passVal"]))) {
    $query = "SELECT * FROM  `dictdb`.`user` WHERE `login` = :logVal AND `password` = :passVal";
    $user_data = $query-fetchAll();

if ($user_data[password] == :passVal) {
echo "ok";
};

?>

auth.php

$(document).ready(function () {
    $("button.btn-auth").on("click", function () {
        $.ajax({
            url: '/src/php/auth.php',
            type: "POST",
        });
    });
});

首先,您正在執行僅返回 1 行的表搜索,因此將 fetchAll 更改為 fetch -

// change this - $user_data = $query-fetchAll(); to
$user_data = $query-fetch(PDO::FETCH_ASSOC);
//This part is also incorrect - if ($user_data[password] == :passVal) as there is no $user_data[password] and will return an error... Change to -
if ($user_data[passVall] == :passVal)

然后您發布到錯誤的頁面,您的 PHP 登錄數據將永遠不會運行 - //url: '/src/php/auth.php' 應該是 - url: '/src/php/authdb.php',

在您的 authdb.php 頁面中,如果登錄成功,則將 $user_data 返回到您的 auth.php 頁面 -

 if ($user_data[password] == :passVal) {
  return $user_data;
  //direct user back to your auth page -
  include( '../auth.php' ); //check correct path...
 };

現在按照您的意願處理返回的數據,我個人會將我的 authdb.php 頁面中的返回數據加載到 session 中。

您的帖子部分不正確,您可以為此做一些事情-

 $.post("../authdb.php", {
    logVal: logVal,
    passVal: passVal
 },
    function (data) {
     if (data == '0') {
        alert("Incorrect or Invalid Password entered.");

        return false;
     } else {
        alert("Sign In successful.");
 }

在您的 authdb.php 文件中,檢查密碼等匹配后 -

if ($user_data[passVal] == :passVal) {
 echo count($user_data); //Will return 0 if failed, 1 if success
    die;
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM