Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde especialistas. Não estou conseguindo descobrir qual o defeito no código ou no banco de dados, ao clicar no botão Adotar deveria ir para a página "adotarusuario.php" para que se o usuário estiver logado conseguiria clicar em solicitar a adoção mas sempre está redirecionando para a página "autenticacao.php" no servidor local está funcionando normalmente, mas no serviço de hospedagem na internet não funciona.
INDEX.PHP
<?php
include("backend/conexao.php");
$id_especie = isset($_GET['id_especie']);
$query = sprintf("SELECT * FROM animal INNER JOIN raca ON animal.fk_raca_animal_raca = raca.id_raca INNER JOIN especie ON animal.fk_especie_animal_especie = especie.id_especie INNER JOIN cor ON animal.fk_cor_animal_cor = cor.id_cor INNER JOIN porte ON animal.fk_porte_animal_porte = porte.id_porte");
$dados = mysqli_query($con,$query);
$linha = mysqli_fetch_assoc($dados);
$total = mysqli_num_rows($dados);
$lista_categorias = "SELECT nome_especie FROM especie";
$dados1 = mysqli_query($con,$lista_categorias);
$linha1 = mysqli_fetch_assoc($dados1);
$total1 = mysqli_num_rows($dados1);
//PAGINAÇÃO
//verifica a página atual caso seja informada na URL, senão atribui como 1ª página
$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;
//seleciona todos os itens da tabela
$cmd = "SELECT * FROM especie";
$categorias = mysqli_query($con,$cmd);
//conta o total de itens
$total_especies = mysqli_num_rows($categorias);
//seta a quantidade de itens por página, neste caso, 2 itens
$registros = 6;
//calcula o número de páginas arredondando o resultado para cima
$numPaginas = ceil($total_especies/$registros);
// FIM PAGINAÇÃO
?>
<!DOCTYPE html>
<html>
<head>
<title>ADOÇÃO ANIMAL</title>
<!-- Bootstrap core CSS -->
<link href="vendor/bootstrap/css/bootstrap.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/shop-homepage.css" rel="stylesheet">
<!-- Imagens com Lightbox -->
<script src="vendor/jquery/jquery-1.7.2.min.js"></script>
<script src="vendor/jquery/lightbox.js"></script>
<link href="css/lightbox.css" rel="stylesheet" />
<script type="text/javascript">
$(function () {
$('#gallery a').lightBox();
});
</script>
<!-- jQuery lightBox plugin - Gallery style */ -->
<style type="text/css">
#gallery {
background-color: #fff;
padding: 10px;
width: auto;
}
#gallery ul { list-style: none; }
#gallery ul li { display: inline; }
#gallery ul img {
border: 5px solid #444444;
border-width: 5px 5px 20px;
}
#gallery ul a:hover img {
border: 5px solid #fff;
border-width: 5px 5px 20px;
color: #fff;
}
#gallery ul a:hover { color: #fff; }
</style>
<!-- Fim Imagens com Lightbox -->
<!-- JQuery Accordion -->
<link href="backend/js/jquery-ui-1.12.1/jquery-ui.css" rel="stylesheet">
<style>
body{
font-family: "Trebuchet MS", sans-serif;
margin: 50px;
}
.demoHeaders {
margin-top: 2em;
}
#dialog-link {
padding: .4em 1em .4em 20px;
text-decoration: none;
position: relative;
}
#dialog-link span.ui-icon {
margin: 0 5px 0 0;
position: absolute;
left: .2em;
top: 50%;
margin-top: -8px;
}
#icons {
margin: 0;
padding: 0;
}
#icons li {
margin: 2px;
position: relative;
padding: 4px 0;
cursor: pointer;
float: left;
list-style: none;
}
#icons span.ui-icon {
float: left;
margin: 0 4px;
}
.fakewindowcontain .ui-widget-overlay {
position: absolute;
}
select {
width: 200px;
}
</style>
<!-- Fim JQuery Accordion -->
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
<div class="container">
<a class="navbar-brand" href="#">Adoção Animal</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Página inicial
<span class="sr-only">(current)</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Adoção</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Apadrinhamento</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contato</a>
</li>
<li class='nav-item active'>
<a href='autenticacao.php'>
<span class='btn btn-default'>Entrar</span></a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Page Content -->
<div class="container">
<div class="row">
<div class="col-lg-3">
<h1 class="my-4">Categorias</h1>
<div class="list-group">
<?php
if ($total1 > 0) {
do {
echo "<a href='#' class='list-group-item'>" . $linha1['nome_especie'] . "</a>";
?>
<?php
} while ($linha1 = mysqli_fetch_assoc($dados1));
}
?>
</div>
<!-- Accordion -->
<h2 class="demoHeaders"></h2>
<div id="accordion">
<h5>O que é Adoção?</h5>
<div class="text-justify">É um ato de amor. E dedicar-se a outro ser vivo, dando-lhe afeto, cuidados e atenção, é parte disso. É uma alegria ver como cães e gatos têm conquistado um lar acolhedor, que os protege dos maus tratos das ruas.</div><br>
<h5>O que é Apadrinhamento?</h5>
<div class="text-justify">Por vezes por questões pessoais, ter um animal poderá ser complicado. Se for o seu caso poderá apadrinhar um animal. Tendo um papel importante, ajudando com as despesas e contribuindo diretamente para a sua protecção e bem-estar sem ter que o levar para a sua casa.</div>
</div>
<!-- Fim Accordion -->
</div>
<!-- /.col-lg-3 -->
<div class="col-lg-9">
<div id="carouselExampleIndicators" class="carousel slide my-4" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="backend/imagens/centralanimal.png" alt="First slide">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
<div class="row">
<?php
if ($total > 0 && $linha['status_animal'] == 1) {
do {
?>
<div class="col-lg-4 mb-2">
<div class="card">
<a href="backend/fotos/<?=$linha['foto1_animal']?>" rel="lightbox"><img class="card-img-top img-responsive" src="backend/fotos/<?=$linha['foto1_animal']?>" alt="<?=$linha['nome_animal']?>" width="500px" height="200px"></a>
<div class="card-body">
<h6 class="card-title">
<p>Nome: <a href="#"><?=$linha['nome_animal']?></a></p>
<p>Espécie: <?=$linha['nome_especie']?></p>Raça: <?=$linha['raca_nome']?></p>
<p>Cor: <?=$linha['nome_cor']?></p>
<p>Porte: <?=$linha['nome_porte']?></p>
<p>Idade: <?=$linha['idade_animal']?></p>
<div class="row">
<div>
<!-- INICIO FORMULARIO BOTAO PAGSEGURO -->
<form action="https://pagseguro.uol.com.br/checkout/v2/donation.html" method="post">
<!-- NÃO EDITE OS COMANDOS DAS LINHAS ABAIXO -->
<input type="hidden" name="currency" value="BRL" />
<input type="hidden" name="receiverEmail" value="emmanuelsiqueira30@gmail.com" />
<input type="hidden" name="iot" value="button" />
<button type="submit" class="btn btn-primary btn-sm"><b>APADRINHAR</b></button></a>
</form>
<!-- FINAL FORMULARIO BOTAO PAGSEGURO -->
</div>
<div>
<a href='adotarusuario.php?id_animal=<?=$linha['id_animal']?>'><button type="submit" name="botaoadotar" class="btn btn-success btn-sm"><b>ADOTAR</b></button></a>
</div>
</div>
</div>
</div>
</div>
<?php
} while ($linha = mysqli_fetch_assoc($dados));
} //fim if
?>
</div>
<!-- /.row -->
</div>
<!-- /.col-lg-9 -->
</div>
<!-- /.row -->
</div>
<!-- /.container -->
<div class="container">
<div class="row">
<?php
//exibe a paginação
for($i = 1; $i < $numPaginas + 1; $i++) {
echo "Páginas: "."<a href='index.php?pagina=$i'>".$i."</a> ";
}
?>
</div>
</div>
<!-- Footer -->
<footer class="py-5 bg-dark">
<div class="container">
<p class="m-0 text-center text-white">Copyright © Adoção Animal 2017</p>
</div>
<!-- /.container -->
</footer>
<!-- -->
<script src="backend/js/jquery-ui-1.12.1/external/jquery/jquery.js"></script>
<script src="backend/js/jquery-ui-1.12.1/jquery-ui.js"></script>
<script>
$( "#accordion" ).accordion();
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
</script>
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
</body>
</html>
ADOTARUSUARIO.PHP
<?php
$id_animal = $_GET['id_animal'];
include("sessaousuario.php");
$usuario = $_SESSION['email'];
include("backend\conexao.php");
$query = "SELECT * FROM animal WHERE id_animal = '$id_animal'";
$dados = mysqli_query($con,$query);
$linha = mysqli_fetch_assoc($dados);
$query1 = "SELECT * FROM usuario WHERE email = '$usuario'";
$dados1 = mysqli_query($con,$query1);
$linha1 = mysqli_fetch_assoc($dados1);
?>
<!DOCTYPE html>
<html>
<head>
<title>Adotar animal - Adoção animal</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
</head>
<body>
<div class="container-fluid">
<div class="form-row">
<div class="form-inline col-xs-12">
<p><h2>Adotar animal</h2></p>
<form action="backend\adocao.php" method="post">
<p><h2>Dados do usuário</h2></p>
<hr>
<input type="hidden" name="id_usuario" value="<?=$linha1['id_usuario']?>">
<div class="form-group"><br/>
<label for="nome">Nome:</label>
<input type="text" class="form-control" name="nome_usuario" value="<?=$linha1['nome']?>" Disabled="true">
</div>
<div class="form-group"><br/>
<label for="cpf">CPF:</label>
<input type="text" class="form-control" name="cpf_usuario" value="<?=$linha1['cpf']?>" Disabled="true">
</div>
<p><h2>Dados do animal</h2></p>
<hr>
<input type="hidden" name="id_animal" value="<?=$linha['id_animal']?>">
<div class="form-group"><br/>
<label for="cpf">Nome:</label>
<input type="text" class="form-control" name="nome_animal" value="<?=$linha['nome_animal']?>" Disabled="true">
</div>
<div class="form-group"><br/>
<label for="idade">Idade</label>
<input type="text" class="form-control" name="idade_animal" value="<?=$linha['idade_animal']?>" Disabled="true">
</div>
<!-- 0-Em processo 1-Adotado -->
<input type="hidden" name="status_adocao" value="0">
<br/>
<div class="form-group"><br/>
<button type="submit" name="botao" class="btn btn-primary">Solicitar Adoção</button>
</div>
</div>
</form>
</body>
</html>
ADOCAO.PHP
<?php
include("conexao.php");
$data = date("Y-m-d");
$id_usuario = $_POST['id_usuario'];
$id_animal = $_POST['id_animal'];
$status_adocao = $_POST['status_adocao'];
$sql = "INSERT INTO adocao (data_adocao, fk_animal_adocao, fk_usuario_adocao, status_adocao) VALUES ('$data','$id_animal','$id_usuario','$status_adocao')";
$result = mysqli_query($con,$sql);
if ($result) {
echo "<SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>alert('A solicitação de adoção foi realizada com sucesso. A equipe do Adota animal Recife irá entrar em contato para mais informações ou ligue para (81) 3424-7845.')</SCRIPT>";
echo "<meta http-equiv='refresh' content=1;url='../index.php'>";
}
else {
echo "<SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>alert('Cada usuário só pode participar de um processo de doação por vez.')</SCRIPT>";
echo "<meta http-equiv='refresh' content=0;url='../index.php'>";
}
echo $erro = mysqli_error($con,$sql);
$con->close();
?>
SESSAOUSUARIO.PHP
<?php
/ esse bloco de código em php verifica se existe a sessão, pois o usuário pode simplesmente não fazer o login e digitar na barra de endereço do seu navegador o caminho para a página principal do site (sistema), burlando assim a obrigação de fazer um login, com isso se ele não estiver feito o login não será criado a session, então ao verificar que a session não existe a página redireciona o mesmo para a index.php./
session_start();
if((!isset ($_SESSION['email']) == true) and (!isset ($_SESSION['senha']) == true)) unset($_SESSION['email']);
unset($_SESSION['senha']);
echo "<SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>alert('Você não possui autorização para acessar esta página.')</SCRIPT>";
echo "<meta http-equiv='refresh' content=1;url='autenticacao.php'>";
} else {
$logado = $_SESSION['email'];
}
?>
AUTENTICACAO.PHP
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
</head>
<body>
<style type="text/css">
@CHARSET "UTF-8";.progress-bar {
color: #333;
}
/*
Reference:
http://www.bootstrapzen.com/item/135/simple-login-form-logo/
*/
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
outline: none;
}
.form-control {
position: relative;
font-size: 16px;
height: auto;
padding: 10px;
@include box-sizing(border-box);
&:focus {
z-index: 2;
}
}
body {
background: url(http://i.imgur.com/GHr12sH.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.login-form {
margin-top: 60px;
}
form[role=login] {
color: #5d5d5d;
background: #f2f2f2;
padding: 26px;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
}
form[role=login] img {
display: block;
margin: 0 auto;
margin-bottom: 35px;
}
form[role=login] input,
form[role=login] button {
font-size: 18px;
margin: 16px 0;
}
form[role=login] > div {
text-align: center;
}
.form-links {
text-align: center;
margin-top: 1em;
margin-bottom: 50px;
}
.form-links a {
color: #fff;
}
</style>
<div class="container">
<div class="row" id="pwd-container">
<div class="col-md-4"></div>
<div class="col-md-4">
<section class="login-form">
<form method="post" action="loginusuario.php" role="login">
<h4>ADOÇÃO ANIMAL RECIFE</h4>
<input type="email" name="email" placeholder="Email" required class="form-control input-lg" />
<input type="password" class="form-control input-lg" name="senha" id="senha" placeholder="Senha" required="enabled" />
<div class="pwstrength_viewport_progress"></div>
<button type="submit" name="go" class="btn btn-lg btn-primary btn-block">Entrar</button>
<div>
Já tem uma conta? <a href="cadastro_usuario.php" target="_blank">Criar conta</a>
</div>
</form>
<div class="form-links">
<a href="#">www.adocaoanimalrecife.com.br</a>
</div>
</section>
</div>
<div class="col-md-4"></div>
</div>
</div>
</body>
</html>
LOGINUSUARIO.PHP
<?php// as variáveis login e senha recebem os dados digitados na página anterior
$email = ($_POST['email']);
$senha = ($_POST['senha']);
// as próximas 3 linhas são responsáveis em se conectar com o bando de dados.
include("backend\conexao.php");
// A variavel $result pega as varias $login e $senha, faz uma pesquisa na tabela de usuarios
$result = mysqli_query($con,"SELECT * FROM usuario WHERE email = '$email' AND senha = '$senha'");
/ Logo abaixo temos um bloco com if e else, verificando se a variável $result foi bem sucedida, ou seja se ela estiver encontrado algum registro idêntico o seu valor será igual a 1, se não, se não tiver registros seu valor será 0. Dependendo do resultado ele redirecionará para a pagina site.php ou retornara para a pagina do formulário inicial para que se possa tentar novamente realizar o login /
if(mysqli_num_rows ($result) > 0 )
{
$_SESSION['email'] = $email;
$_SESSION['senha'] = $senha;
header('Location: index.php');
}
else{
unset ($_SESSION['email']);
unset ($_SESSION['senha']);
echo "<SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>alert('Usuário ou senha incorretos.')</SCRIPT>";
echo "<meta http-equiv='refresh' content=1;url='index.php'>";
header('Location: index.php');
}
?>Carregando comentários...