Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucas22001

erro no login

Recommended Posts

boa noite      por algum motivo q desconheço ainda  meu  site apresenta um erro quanto ta na hospedado o model usuarios n consegue chamar o controller login

localmente funciona tudo certinho

 moldel usuario ta assim

class Usuarios extends model {

    public function verificarLogin() {

        if (!isset($_SESSION['beta']) || (isset($_SESSION['beta']) && empty($_SESSION['beta']))) {
       header("location: " . BASE . "login");
            exit;
        }
    }

 

o controller login ta assim



 

class logincontroller extends Controller {

    public function __construct() {
        parent::__construct();
    }

    public function index() {
        $dados = array();

        $this->loadView('login', $dados);
    }


e o erro q ta dando e esse

 

 

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

 

ate o presente momento ainda n achei como resolver

Compartilhar este post


Link para o post
Compartilhar em outros sites

Normalmente esse erro é por causa de redirecionamento em cima de redirecionamento.

Está usando algum htaccess?

Ele pode etá fazendo muitos redirecionamento, ou mesmo outros arquivos que fez um include e as configurações do servidor não estão configuradas para tanto.

 

Se o servidor não bloquear o Edge, Safari, Opera e Chrome vão bloquear o acesso do usuário ao se web site. Se não me engano o opera só aceita até 2 redirect.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu condicional na função verificaLogin não faz sentido. Basta apenas verificar se a sessão existe, já que você não está comparando valores.

 

Outra coisa, o que tem no construct da class Controller  ? pois você está usando parent::__construct na class logincontroller.

Compartilhar este post


Link para o post
Compartilhar em outros sites
42 minutos atrás, Alaerte Gabriel disse:

Seu condicional na função verificaLogin não faz sentido. Basta apenas verificar se a sessão existe, já que você não está comparando valores.

 

Outra coisa, o que tem no construct da class Controller  ? pois você está usando parent::__construct na class logincontroller.

 

5 horas atrás, Omar~ disse:

Normalmente esse erro é por causa de redirecionamento em cima de redirecionamento.

Está usando algum htaccess?

Ele pode etá fazendo muitos redirecionamento, ou mesmo outros arquivos que fez um include e as configurações do servidor não estão configuradas para tanto.

 

Se o servidor não bloquear o Edge, Safari, Opera e Chrome vão bloquear o acesso do usuário ao se web site. Se não me engano o opera só aceita até 2 redirect.

 erro de htaccess acredito q n e pq quando eu tirei a função de login ele consegue acessar o site e tb localmente o site todo funciona perfeitamente a função verificaLogin foi feita assim  pq quando ela for chamada  nas paginas basta fazer assim

$u = new Usuarios();
$u->verificarLogin();

o meu htaccess esta assim

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ /tesde/index.php?url=$1 [QSA,L]
</IfModule>

a class Controller tem os métodos de acesso das paginas e bando ta sim 

class Controller {

    protected $db;

    public function __construct() {
        global $config;
        $this->db = new PDO("mysql:dbname=" . $config['dbname'] . ";host=" . $config['host'], $config['dbuser'], $config['dbpass']);
    }

    public function loadView($viewName, $viewData = array()) {
        extract($viewData);
        include 'views/' . $viewName . '.php';
    }

    public function loadTemplate($viewName, $viewData = array()) {
        include 'views/template.php';     
    }

    public function loadViewInTemplate($viewName, $viewData) {
        extract($viewData);
        include 'views/' . $viewName . '.php';
    }

}

o interessante e q tudo funciona muito bem localmente e claro se conseguir me ajudar agradeço 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema pode estar no teu if como citei amigo, faça a modificação e teste pra ver... Outra coisa, classe de acesso ao banco de dados não deve ser um controller.

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, Alaerte Gabriel disse:

O problema pode estar no teu if como citei amigo, faça a modificação e teste pra ver... Outra coisa, classe de acesso ao banco de dados não deve ser um controller.

fiz as modificações para verifica a sessao e ali ta passando só depois ele n consegue achar o logincontroller e esta tando exatamente o mesmo erro de redirecionamente pq como ele n acho o logincontroller ele cai na index  e fica fazendo isso dai

 

 

login controller
<?php
class logincontroller extends Controller {


    public function index() {
        $dados = array();

        $this->loadView('login', $dados);
    }
?>
config
<?php
  <?php

define("BASE", "http://localhost/teste/");
$config = array();

$config['dbname'] = 'teste';
$config['host'] = 'localhost';
$config['dbuser'] = 'root';
$config['dbpass'] = '';

global $db;
try {
    $db = new PDO("mysql:dbname=" . $config['dbname'] . ";host=" . $config['host'], $config['dbuser'], $config['dbpass']);
} catch (PDOException $e) {
    echo "ERRO: " . $e->getMessage();
}
  ?>
Controller
<?php
  class Controller {
    
 
    public function loadView($viewName, $viewData = array()) {
        extract($viewData);
        include 'views/' . $viewName . '.php';
    }

    public function loadTemplate($viewName, $viewData = array()) {
        include 'views/template.php';     
    }

    public function loadViewInTemplate($viewName, $viewData) {
        extract($viewData);
        include 'views/' . $viewName . '.php';
    }

}
  ?>

essa foram as modificações q fiz e continua dando o mesmo erro

[Thu Nov 02 19:38:19 2017] [error] [client 187.55.57.141] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa seu htaccess assim:

 

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

Se mesmo assim não resolver tente:

 

RewriteEngine On

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

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Alaerte Gabriel disse:

Deixa seu htaccess assim:

 


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

Se mesmo assim não resolver tente:

 


RewriteEngine On

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

 

nd mesmo erro vou ver oq vou fazer aqui talvez fazer o sistema de login de outro jeito n sai ainda mais desse jeito n funcionou ainda 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
×

Informação importante

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