所以没有代码,我只是想知道这是否可能做之前,我开始它。 所以我要制作一个php页面。 所以没有提交表单与动作到另一个php页面。
在该页面上,它将有用户类型或选择登录信息(id,通行证,姓名等)。 在登录信息下面,我从上面的部分获取信息,以确定他们有权访问哪个数据库,并在HTML/PHP表中打印他们有权访问的数据库列表。
所以这是否可能在一页中完成。 或者我需要做一个表格(抓取他们的信息)。 然后从那里打印用户可以访问的数据库列表。 如果有可能的话,它有多难,我是编程的新手,刚完成HS。 你们能给我指个正确的方向吗。 如能提供帮助,将不胜感激
您需要连接到页面顶部的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>