Aprenda PHP Intermediário

  • Página Inicial
  • Contato!
  • Tudo sobre PHP Intermediário Parte 1!
  • Tudo sobre PHP Intermediário Parte 2!
  • Tudo sobre PHP Intermediário Parte 3!
  • Tudo sobre PHP Intermediário Parte 4!
  • Tudo sobre PHP Intermediário Parte 5!
  • Tudo sobre PHP Intermediário Parte 6!
  • Tudo sobre PHP Intermediário Parte 7!
  • Tudo sobre PHP Intermediário Parte 7

    Mini Portal PHP - Prática da Função Excluir

    Abra a página sites-relacionados para fazermos a opção exclusão, crie o arquivo PHP com o nome excluir-sites, dentro de uma pasta chamada excluir, dentro de admin.

    No arquivos sites-relacionados, em excluir coloque o caminho da pasta, assim:

    
    <a href="excluir/excluir-sites.php?id=<?php echo $consulta[$i]['id'] ?>">Excluir</a>
    
    

    Abaixo do primeiro endif, crie outro com o aviso da exclusão, mudando o conteúdo do if para "erase".

    Esse é o código do arquivo de exclusão, que deverá estar numa pasta excluir, em admin, com o nome excluir-sites:

    
    include "../funcao/funcao-deleta.php";
    
    $id = $_REQUEST["id"];
    
    deleta("sites_relacionados", "where id = '$id'");
    
    header("location: ../sites-relacionados.php?env=erase");
    
    

    Faça um arquivo na mesma pasta igual à esse, mas com o nome excluir-portfolio, substituindo o código por esse:

    
    include "../funcao/funcao-deleta.php";
    include "../funcao/funcao-select2.php";
    
    $id = $_REQUEST["id"];
    
    $consulta = select("portifolio", "img_destaque", "where id = '$id'");
    
    if($consulta == true) {
        for($i = 0; $i < count($consulta); $i++) {
            $excluir_img = $consulta[$i]["img_destaque"];
        }
        unlink("../../img/$excluir_img");
    }
     
    deleta("portifolio", "where id = '$id'");
    
    header("location: ../portifolio.php?env=erase");
    
    

    Agora, abra a página portifolio, e da mesma forma da página sites-relacionados, coloque o if para exibir a exclusão, pode até ser o mesmo. E da mesma forma, coloque o href para excluir-portifolio com a id.

    Mini Portal PHP - Login Criptografado e Restrição de Acesso

    Primeiro corrigiremos o index.html por index.php, pegue o arquivo (baixe clicando aqui) e faça as correções no request e no formulário.

    Vamos criar em admin mesmo, um arquivo com o nome login.php, esse é o código:

    
    include "../conexao/conexao.php";
    include "../conexao/fecha-conexao.php";
    include "funcao/funcao-select2.php";
    
    $user = htmlspecialchars(trim(strip_tags($_REQUEST["login"])), ENT_QUOTES);
    $senha = htmlspecialchars(trim(strip_tags($_REQUEST["senha"])), ENT_QUOTES);
    
    // strip_tags() retira as tags (símbolo) de menor e maior.
    
    $consulta = select("user", "*", "where login = '$user'");
    
    if($consulta == true) {
        for($i = 0; $i < count($consulta); $i++) {
            // Compara as senhas, o password_verify comparará mesmo com criptografia diferente
            if(password_verify($senha, $consulta[$i]["senha"]) == $consulta[$i]["senha"]) {
                session_start();
                $_SESSION["usuario"] = $user;
                $_SESSION["logado"] = true;
                header("location: sites-relacionados.php");
            }
            else {
                header("location: index.php?erro=senha");
            }
        }
    }
    else {
        header("location: index.php?erro=usuario");
    }
    
    

    PS: A função strip_tags() retirará qualquer < e > digitada (a fim de evitar injeção de códigos entre tags), mas muitas vezes só é necessário usar a filtragem com o htmlspecialchars() mesmo, que transformará esses e outros símnbolos em códigos HTML.

    Agora crie um arquivo, na mesma pasta, copiado do index.php, com o nome de restrito.php, mudando o nome para usuário logado na sessão do login, e tirando o formulário de senha, para vermos se existe login.

    Agora crie um novo arquivo com o nome restricao.php, com esse código:

    
    session_start();
    
    if(isset($_SESSION["logado"])) {
        
    }
    else {
        header("location: index.php?erro=negado");
    }
    
    

    E inclua ele em todos as páginas restritas, com o include, antes de tudo, como a restrito.php.