提问者:小点点

如何抓取输入/选择信息,然后从那里打印数据库信息。 这可能吗?


所以没有代码,我只是想知道这是否可能做之前,我开始它。 所以我要制作一个php页面。 所以没有提交表单与动作到另一个php页面。

在该页面上,它将有用户类型或选择登录信息(id,通行证,姓名等)。 在登录信息下面,我从上面的部分获取信息,以确定他们有权访问哪个数据库,并在HTML/PHP表中打印他们有权访问的数据库列表。

所以这是否可能在一页中完成。 或者我需要做一个表格(抓取他们的信息)。 然后从那里打印用户可以访问的数据库列表。 如果有可能的话,它有多难,我是编程的新手,刚完成HS。 你们能给我指个正确的方向吗。 如能提供帮助,将不胜感激


共1个答案

匿名用户

您需要连接到页面顶部的db(或者更好的是在另一个文件中并且需要它),这样您就可以执行类似于db.ph:

<?php

$host = '';
$dbuser = '';
$paswrd = '';
$dbname = '';
$dns = 'mysql:host=' . $host .'; dbname=' . $dbname;
try 
{
    $pdo = new PDO($dns, $dbuser, $paswrd);
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  //  echo "polaczono z mysql";
}
catch(PDOException $e)
{
   // echo "nie udało się połączenie: " . $e->getMessage();
}
?>

在登录页面中的下一个步骤是:

require('db.php');


if(isset( $_POST['login']))
{
    require('./config/db.php');


    /*
    $userName = $_POST['userName'];
    $userEmail = $_POST['password'];
    */

    $userName = filter_var( $_POST['userName'], FILTER_SANITIZE_STRING); 
    $userPassword = filter_var( $_POST['userPassword'], FILTER_SANITIZE_STRING);  

    $stmt = $pdo -> prepare('SELECT * FROM Users WHERE name =?');
    $stmt -> execute([$userName]);
    $user = $stmt ->fetch();

您可以检查它是否正确,例如,如果($user->password==$userpassword)

在HTML中:

<form action="login.php" method="POST">

            <div class="form-group">
                <label for="userName">Name</label>        
                    <input required type="text" name="userName" ">
            </div>
            <div class="form-group">
                <label for="userPassword">Password</label>
                <input required type="password" name="userPassword"/>
            </div>
            <button name="login" type="submit" >Login</button>

        </form>