Ir para conteúdo

Pellegrini2106

Members
  • Total de itens

    109
  • Registro em

  • Última visita

  • Dias vencidos

    1

Posts postados por Pellegrini2106


  1. Fala galera estou com uma duvida tenho um código em php  onde a classe e o método são passados por uma query string onde ele e passado desta forma:

    "http://localhost/projeto/?url=pessoa&metodo=cadastrarPessoa&id=1".

    Mas na verdade quero passar na forma de URL amigável pegando ao invés o arquivo pegasse  a classe e o método deste jeito "http://localhost/projeto/pessoa/cadastrarPessoa ou se tiver uma consulta pegando a classe, método e o resultado da consulta via URL  desta forma: "http://localhost/projeto/pessoa/1.

     

    Obrigado

     

    Olha o Código Fonte:

     

    .htaccess

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

    index.php

     

    <?php
    
    /* Chama a Biblioteca Gerenciadora de Template TWIG */
    require_once 'vendor/autoload.php';
    
    /* Classe Core */
    require_once 'app/core/Core.php';
    
    /* Classe Controle */
    require_once 'app/controle/menuControle.php';
    require_once 'app/controle/pessoaControle.php';
    require_once 'app/controle/erroControle.php';
    
    
    $template = file_get_contents("app/visao/template/estrutura.php");
    
    ob_start();
    
    $core = new Core();
    $core->Start($_GET);
    
    $saida = ob_get_contents();
    
    ob_end_clean();
    
    $tplPronto = str_replace('{{Area Dinamica}}', $saida, $template);
    
    echo $tplPronto;
    

    Core.php -> E a camada onde eu quero transformar a query string em URL amigavél que por sua vez chama a classe controle.

    <?php
    
    class Core {
    
        public function Start($urlGet) {
    
            $acao = 'index';
    
            if (isset($urlGet['url'])) {
                $controle = $urlGet['url'] . 'Controle';
            } else {
                $controle = 'menuControle';
            }
    
            if (!class_exists($controle)) {
                $controle = "erroControle";
            }
    
            if (isset($urlGet['metodo'])) {
                $acao = $urlGet['metodo'];
            } else {
                $acao = 'index';
            }
    
            call_user_func(array(new $controle, $acao), array());
        }
    
    }

     

     


  2. Ola a todos amigos programadores estou com um probleminha ao iniciar uma sessão usando o twig, eu quero apresentar os usuários logados no sistema e caso eu movimente a pagina ele faça a verificação de sessão, mas fique bem claro que eu quero usar o Twig. Como Faço Isso? Podem me ajudar?

     

    <?php
    
    class loginControle {
    
        private $ObjLogin;
    
        function __construct() {
            $this->ObjLogin = new Usuario();
        }
    
        public function index() {
    
            $loader = new Twig\Loader\FilesystemLoader('app/visao/login');
            $twig = new Twig\Environment($loader);
            $template = $twig->load('login_usuario.php');
            $template->display();
    
            session_start();
    
            $this->ObjLogin->setUsuario($_POST["txtusuario"]);
            $this->ObjLogin->setSenha($_POST["txtsenha"]);
    
            $loader = new Twig\Loader\FilesystemLoader('app/visao/usuario');
            $twig = new Twig\Environment($loader);
            $template = $twig->load('cadastrar_usuario.php');
    
            if (isset($_POST["btnLogar"])) {
    
                if ($this->ObjLogin->logarAdmin()) {
    
                    $dados = array(
                        'perfil' => 'Administrador',
                        'nome' => 'Master',
                        'usuario' => $this->ObjLogin->getUsuario(),
                        'senha' => $this->ObjLogin->getSenha()
                    );
                    $_SESSION['perfil'] = $perfil;
                    $_SESSION['nome'] = $nome;
                    $_SESSION['usuario'] = $usuario;
                    $_SESSION['senha'] = $senha;
    
                    echo $template->render($dados);
                }
    
    
                $pegar = $this->ObjLogin->logarUsuario();
    
                foreach ($pegar as $value) {
    
                    switch ($value["perfil"]) {
    
                        case "socio":
                            $_SESSION['perfil'] = $value['perfil'];
                            $_SESSION['nome'] = $value['nome'];
                            $_SESSION['usuario'] = $value['usuario'];
                            $_SESSION['senha'] = $value['senha'];
                            header("location:http://localhost/Estoque_12_10_2019/?url=menu&metodo=ctlMenuSocio");
                            break;
    
                        case "gerente":
                            $_SESSION['perfil'] = $value['perfil'];
                            $_SESSION['nome'] = $value['nome'];
                            $_SESSION['usuario'] = $value['usuario'];
                            $_SESSION['senha'] = $value['senha'];
                            header("location:http://localhost/Estoque_12_10_2019/?url=menu&metodo=ctlMenuGerente");
                            break;
    
                        case "funcionario":
                            $_SESSION['perfil'] = $value['perfil'];
                            $_SESSION['nome'] = $value['nome'];
                            $_SESSION['usuario'] = $value['usuario'];
                            $_SESSION['senha'] = $value['senha'];
                            header("location:http://localhost/Estoque_12_10_2019/?url=menu&metodo=ctlMenuFuncionario");
                            break;
                    }
                }
            }
        }
    
        public function ctlSessaoRestrita() {
    
            session_start();
    
            if (isset($_SESSION['usuario']) && (isset($_SESSION['senha']))) {
                echo "Bem Vindo (a)  " . $_SESSION['perfil'] . "(a)" . " - " . $_SESSION['nome'];
            } else {
                session_unset();
                session_destroy();
                header("location:http://localhost/Estoque_12_10_2019/?url=login");
            }
        }
    
        public function ctlDestroiSessaoManual() {
    
            if (isset($_POST["btnSair"])) {
                session_start();
                session_destroy();
                header("location:http://localhost/Estoque_12_10_2019/?url=login");
            }
        }
    
        public function ctlDestroiSessaoAutomatico() {
    
            session_start();
            session_unset();
            session_destroy();
            header("location:http://localhost/Estoque_12_10_2019/?url=login");
        }
    
    }
    
    cadastrar_usuario.php
      
      <h1>SEJA BEM VINDO {{perfil}} - {{nome}} </h1> // AQUI FICA A INFORMAÇÃO DO USUÁRIO LOGADO NO SISTEMA.
    <div class="cadastro">
        <h1 class="bg-success titulo">&nbsp;CADASTRO DE USUÁRIOS:</h1><br>
        <form class="letras" method="post" action="http://localhost/Estoque_15_10_2019/?url=usuario&metodo=ctlCadastrarUsuario">
            <div class="form-row">
                <div class="form-group col-md-4">
                    <label for="nome">NOME:</label>
                    <input type="text" name="txtnome" id="nome" onkeyup="maiuscula('nome')"  placeholder="NOME" class="form-control" autofocus required>               
                </div>
                <div class="form-group col-md-4">
                    <label for="email">EMAIL:</label>
                    <input type="email" name="txtemail" placeholder="EMAIL" class="form-control" required>                
                </div>
                <div class="form-group col-md-4">
                    <label for="perfil">PERFIL:</label>
                    <select required name="cbperfil" class="form-control input-group-addon">
                        <option value="socio">Socio:</option>
                        <option value="gerente">Gerente:</option>
                        <option value="funcionario">Funcionário:</option>
                    </select>                
                </div>                
            </div>
            <div class="form-row">
                <div class="form-group col-md-4">
                    <label for="usuario">USUÁRIO:</label>
                    <input type="text" name="txtusuario" placeholder="USUÁRIO" class="form-control" required>                
                </div>
                <div class="form-group col-md-4">
                    <label for="senha">SENHA:</label>
                    <input type="password" name="txtsenha" placeholder="SENHA" class="form-control" required>                
                </div> 
                <div class="form-group col-md-4">
                    <label for="confirmasenha">CONFIRMA SENHA:</label>
                    <input type="password" name="txtconfsenha" placeholder="CONFIRMA SENHA" class="form-control" required>                
                </div>
            </div> 
            <div class="form-row">
                <button type="submit"  name="btnCadastrar" class="btn btn-success">Cadastrar: &nbsp;&nbsp;<i class="fas fa-save"></i></button>
            </div><br>  
        </form>
    </div>

     


  3. Ola galera do IMasters!!!!!!

     

    Estou com uma duvida eu tenho um CRUD em php MVC e queria saber em que camada fica as mensagens depois de uma realização de um evento por exemplo:

    Cadastro de Pessoa, depois de cadastrada quero que ele emita uma mensagem dizendo que a "PESSOA FOI CADASTRADA COM SUCESSO!!!!" e eu queria saber  em que parte ela fica se é no Controle ou na View porque sabemos que no modelo fica a parte referente a manipulação de dados.

    Obrigado.


  4. Olá amigos do fórum estou com um problema e não consigo resolver.

    Tenho um menu que chama um controle chamado  ctlPessoa  na classe controller e dentro um método index() e outro metodo cadastrarPessoa().

    O problema e quando eu chamo esse controle ele emitiu um erro:

     

     

    A PHP Error was encountered

     

     

    Severity: Notice

     

     

    Message: Undefined variable: confirma

     

     

    Filename: visaoPessoa/cadastrar_pessoa.php

     

     

    Line Number: 2

     

     

    Backtrace:

     

     

    File: C:\wamp64\www\CodeIgniter_Crud_01_07_2019\application\views\visaoPessoa\cadastrar_pessoa.php

    Line: 2

    Function: _error_handler

     

     

    File: C:\wamp64\www\CodeIgniter_Crud_01_07_2019\application\controllers\ctlPessoa.php

    Line: 18

    Function: view

     

     

    File: C:\wamp64\www\CodeIgniter_Crud_01_07_2019\index.php

    Line: 315

    Function: require_once

     

    Explicando o erro:

    E pq o método cadastro possui uma variavel array que é chamada  pela view e serve para logo após a ação do método exibir a seguinte mensagem - " PESSOA CADASTRADA COM SUCESSO":

                $this->load->view('visaoPessoa/cadastrar_pessoa',$mensagem); <---- passando array de mensagem de confirmação que a pessoa foi cadastrada com sucesso

    Mas ele da erro pq chama o método index() no ctlPessoa que somente carrega as views ao invés de chamar ctlPessoa/cadastrarPessoa.

     

    public function index() {
    
            $this->load->view('includes/cabecalho');
            $this->load->view('includes/conteudo');
            $this->load->view('includes/rodape');
            $this->load->view("menuPrincipal/menu_principal");
            $this->load->view("visaoPessoa/cadastrar_pessoa");
        }

    Como faço para realizar o carregamento da view e fazer o carregamento do metodo ctlPessoa/cadastrarPessoa.

     

     

     

     

     

     

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.