Sistema para interação com um banco de dados, voltado para um sistema de gerenciamento acadêmico de Produtos Educacionais Acessíveis (PEA) de apoio e acessibilidade para pessoas com Deficiência no Ensino Superior da Universidade Federal do Pará (UFPA) e Universidade Federal Rural da Amazônia (UFRA).
Arquivo de Configuração e Conexão com banco de Dados
<?php
$host = ''; // Altere para o seu host PostgreSQL
$db = ''; // Altere para o seu banco de dados PostgreSQL
$user = ''; // Altere para o seu usuário PostgreSQL
$pass = ''; // Altere para a sua senha PostgreSQL
$charset = '';
$dsn = "pgsql:host=$host;dbname=$db";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\\PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
exit;
}
return $pdo;
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dashboard - BPEA</title>
<style>
.hidden {
display: none;
}
</style>
<link rel="stylesheet" href="<https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css>">
<script src="<https://code.jquery.com/jquery-3.7.1.min.js>" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="<https://unpkg.com/@popperjs/core@2>"></script>
<script src="<https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js>"></script>
</head>
<body>
<div class="text-center">
<br>
<img src="/logo.png" alt="Logo BPEA" width="200" height="200"><br>
<br>
<h1>BPEA - UFPA</h1>
<p>Banco de Dados de Produtos Educacionais Acessíveis - UFPA</p>
<hr>
<br>
<p><a href="/Upload.php" class="btn btn-primary">Cadastrar Material</a>
<a href="/pesquisa.php" class="btn btn-primary">Consultar Material</a></p>
</div>
<br><br>
<nav class="text-center">
<a href="/index.php" class="btn btn-danger">Sair</a>
</nav>
</body>
</html>
<?php
session_start();
include 'config.php';
$email = $_POST['email'];
$password = $_POST['password'];
$sql = "SELECT * FROM usuario WHERE email = :email";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':email', $email);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if ($user && password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['id'];
header("Location: Dashboard.html");
exit;
} else {
header("Location: login.php?error=invalid_credentials");
exit;
}
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Consulta - BPEA</title>
<style>
.hidden {
display: none;
}
</style>
<link rel="stylesheet" href="<https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css>">
<script src="<https://code.jquery.com/jquery-3.7.1.min.js>" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="<https://unpkg.com/@popperjs/core@2>"></script>
<script src="<https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js>"></script>
</head>
<body class="text-center">
<div class="text-center">
<img src="/logo.png" alt="Logo BPEA" width="200px" height="200px">
<h1>BPEA - UFPA</h1>
<p>Banco de Dados de Produtos Educacionais Acessíveis - UFPA</p>
<hr><br><br>
<?php $pdo = include 'config.php'; ?>
<?php error_reporting(E_ERROR | E_PARSE); ?>
<?php
$sql = 'SELECT * FROM "pea" ORDER BY titulo ASC';
$titulo = $_GET['titulo'];
if(!is_null($titulo) && !empty($titulo))
$sql = "SELECT * FROM \\"pea\\" WHERE titulo LIKE '".$titulo."' ORDER BY titulo ASC";
$qry = $pdo->query($sql);
$count = $qry->rowCount();
$qry->execute();
$data = $qry->fetchAll(PDO::FETCH_ASSOC);
?>
<h1> Consulta de Materiais </h1>
</div>
<div class="form-group d-flex justify-content-center">
<form method="get">
<div class="col-lg-3">
<div class="form-group">
<br>
<input class="w-auto p-3" id="titulo" placeholder="Título do PEA" name="titulo" value="<?= $titulo ?? "" ?>">
</div>
</div>
<button type="submit" class="btn btn-info" style="margin-top: 24;">Buscar</button><br><br><hr>
</div>
</form>
<div class="form-group d-flex justify-content-center">
<?php
if(!is_null($titulo) && !empty($titulo)) {
if($count > 0) {
echo 'Encontrado registros com o título ' . $titulo;
?>
</div>
<table class="table table-striped">
<thead>
<th>Título</th>
<th>Formato</th>
<th>Recursos de Acessibilidade</th>
<th>Tipo de Deficiência</th>
<th>Uso</th>
</thead>
<tbody>
<?php foreach($data as $row): ?>
<tr>
<td><?php echo $row['titulo']; ?></td>
<td><?php echo $row['formato']; ?></td>
<td><?php echo $row['acc_resources']; ?></td>
<td><?php echo $row['tipo_de_deficiencia']; ?></td>
<td><?php echo $row['uso']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<div>
<a href="resultado.php?titulo=<?= urlencode($titulo) ?>" class="btn btn-info" >Ver resultados completos</a><br><br><br>
</div>
<?php }
else {
echo 'Nenhum registro foi encontrado com o título ' . $titulo;
}
}
?>
</div>
</div>
<nav class="text-center">
<p></p><a href="/Dashboard.html" class="btn btn-primary">Retornar ao início</a>
<a href="/Upload.php" class="btn btn-primary">Cadastrar Material</a>
<a href="/index.php" class="btn btn-danger">Sair</a></p>
</nav>
</body>
</html>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Resultados - BPEA</title>
<style>
.hidden {
display: none;
}
</style>
<link rel="stylesheet" href="<https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css>">
<script src="<https://code.jquery.com/jquery-3.7.1.min.js>" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="<https://unpkg.com/@popperjs/core@2>"></script>
<script src="<https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js>"></script>
</head>
<body>
<div class="text-center">
<img src="/logo.png" alt="Logo BPEA" width="200px" height="200px">
<h1>BPEA - UFPA</h1>
<p>Banco de Dados de Produtos Educacionais Acessíveis - UFPA</p>
<hr>
<br>
<?php
include 'config.php';
$id = isset($_GET['id']) ? $_GET['id'] : null;
$stmt = $pdo->prepare("SELECT * FROM PEA WHERE id = :id");
$stmt->execute(['id' => $id]);
$data = $stmt->fetch();
if ($data) {
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Detalhes do Registro</title>
</head>
<body>
<h1>Detalhes do Registro</h1>
<p><strong>Título:</strong> <?php echo $data['titulo']; ?></p>
<p><strong>Formato:</strong> <?php echo $data['formato']; ?></p>
<p><strong>Recurso de Acessibilidade:</strong> <?php echo $data['acc_resources']; ?></p>
<p><strong>Tipo de Deficiência:</strong> <?php echo $data['tipo_de_deficiencia']; ?></p>
<p><strong>Arquivo:</strong> <a href="<?php echo $data['local']; ?>" target="_blank">Visualizar</a> <a href="<?php echo $data['local']; ?>" download>Baixar</a></p>
<p><strong>Uso:</strong> <?php echo $data['uso']; ?></p>
<p><strong>Fonte Original:</strong> <?php echo $data['fonte_original']; ?></p>
<p><strong>Área de Conhecimento:</strong> <?php echo $data['id_categoria']; ?></p>
<p><strong>Descrição:</strong> <?php echo $data['descricao']; ?></p>
<a href="Dashboard.html">Voltar</a>
</body>
</html>
<?php
}
$sql = 'SELECT * FROM "pea" ORDER BY titulo ASC';
$titulo = $_GET['titulo'];
if(!is_null($titulo) && !empty($titulo))
$sql = "SELECT * FROM \\"pea\\" WHERE titulo LIKE '".$titulo."' ORDER BY titulo ASC";
$qry = $pdo->query($sql);
$count = $qry->rowCount();
$qry->execute();
$data = $qry->fetchAll(PDO::FETCH_ASSOC);
?>
<h3 style="
text-align: center;
height: 7;
margin-top: 150;
margin-bottom:70;
"> Resultados da Consulta de PEA </h3>
<p>Não Atualize essa página!!</p>
<br><br>
<?php
if(!is_null($titulo) && !empty($titulo)) {
if($count > 0) {
echo 'Encontrado registros com o título ' . $titulo;?>
<div>
<table class="table table-striped">
<thead>
<th>Título</th>
<th>Formato</th>
<th>Recurso de Acessibilidade</th>
<th>Tipo de Deficiência</th>
<th>Arquivo</th>
<th>Uso</th>
<th>Fonte Original</th>
<th>Área de Conhecimento</th>
<th>Descrição</th>
</thead>
<tbody>
<?php foreach($data as $row): ?>
<tr>
<td><?php echo $row['titulo']; ?></td>
<td><?php echo $row['formato']; ?></td>
<td><?php echo $row['acc_resources']; ?></td>
<td><?php echo $row['tipo_de_deficiencia']; ?></td>
<td>
<a href="<?php echo $row['local']; ?>" target="_blank">Visualizar</a>
<a href="<?php echo $row['local']; ?>" download>Baixar</a>
</td>
<td><?php echo $row['uso']; ?></td>
<td><?php echo $row['fonte_original']; ?></td>
<td><?php echo $row['id_categoria']; ?></td>
<td><?php echo $row['descricao']; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php }
else {
echo 'Nenhum registro foi encontrado com o título ' . $titulo; }}?>
<br>
</div>
</div>
</div>
</div>
</div>
<nav class="text-center"><br><br
<p>
<a href="/pesquisa.php" class="btn btn-primary">Nova Consulta</a>
<a href="/Upload.php" class="btn btn-primary">Cadastrar Material</a>
<a href="/Dashboard.html" class="btn btn-secondary">Retornar ao início</a>
<a href="/index.php" class="btn btn-danger">Sair</a>
</p>
</nav>
</body>
</html>