Ir para conteúdo

POWERED BY:

Arquivado

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

FELIPEWAT

Calendário de Eventos com Problemas

Recommended Posts

Olá,

 

Recentemente quis incluir um calendário de eventos em php no meu site. Baixei os arquivos do site Medium.com: https://goo.gl/79jcYE.

Porém, não consigo utilizar o calendário e o erro_log me retorno a seguinte mensagem de erro:

 

PHP Fatal error:  Call to a member function query() on a non-object in /home/.../public_html/eventos.php on line 6

 

Segue o conteúdo do arquivo:

<?php
    //Conectando ao banco de dados
    include "conexao.php";
    

    $consulta = $conexao->query("SELECT * FROM eventos;"); 

    while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) { 
        //echo "Nome: {$linha['nome']} - E-mail: {$linha['email']}<br />";
        $vetor[] = $linha;
     }

    //Passando vetor em forma de json
    echo json_encode($vetor);
    
?>


Alguém poderia me ajudar com essa questão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @FELIPEWAT, seja bem-vindo!

 

A mensagem de erro em questão indica que o objeto que deveria estar associado à variável $conexao não está definido.

 

Há algumas possíveis explicações para isso:

 

1 - Você não possui o PDO e/ou o pdo_mysql instalados no seu servidor. Para verificar isso, basta criar um arquivo com o seguinte conteúdo: <?php phpinfo(); e acessá-lo, depois procurar pelos módulos citados. Eles devem aparecer de forma parecida com a foto que estou anexando.

Acho difícil que seja isso, pois nesse caso o PHP teria indicado outro erro, como classe PDO não definida... mas não custa verificar.

 

2 - Mais provavelmente você definiu dados incorretos para o PDO e ele não está conseguindo se conectar com seu banco de dados.

No código original postado pelo autor do tutorial, observe que há a seguinte linha comentada:

//echo 'Conexao efetuada com sucesso!';

Tire as barras do início dessa linha para verificar se a conexão foi bem-sucedida. Se o PDO passar pelo try, a mensagem em questão deve ser exibida na tela.

 

 

Em desenvolvimento, habilite a exibição total de erros. Basta adicionar no início do seu arquivo principal (esse postado no seu tópico):

error_reporting( E_ALL );

 

Captura de Tela 2017-12-21 às 11.02.55.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Primeiro eu peço desculpas por não ter colocado o código da forma de texto.

 

Agradeço o retorno. Eu fiz conforme você me recomendou, porém sem sucesso. Realmente é preciso que o vetor $conexao referencie algo, mas não consigo saber exatamente o que.

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 minutos atrás, FELIPEWAT disse:

Eu fiz conforme você me recomendou, porém sem sucesso.

Você habilitou os erros com o error_reporting? Não apareceu nenhum erro?

E a linha comentada, você tirou as barras e ele apareceu normalmente a mensagem?

 

14 minutos atrás, FELIPEWAT disse:

Realmente é preciso que o vetor $conexao referencie algo, mas não consigo saber exatamente o que.

$conexao não deveria ser um vetor. Deveria ser uma instância (um objeto) da classe PDO.

Após a conexão, tente rodar um

var_dump( $conexao );

Essa função exibe o valor da variável em detalhes. Exemplo de um retorno válido: https://stackoverflow.com/questions/38426313/var-dump-a-php-class-object-reveals-database-username-and-password

 

Veja se ajuda também: http://php.net/manual/pt_BR/pdo.construct.php

E esse tópico: https://forum.imasters.com.br/topic/460183-resolvido como-conectar-com-pdo/

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • 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');     }  
    • Por ILR master
      Fala pessoal, tudo bem?
       
      Eu tenho o seguinte código:
       
      <script>
         $(function(){
      var jElement = $('.fixar_banner');
      $(window).scroll(function(){
          if ( $(this).scrollTop() > 120 ){
              jElement.css({
                  'position':'fixed',
                  'top':'10px'
              });
          }else{
              jElement.css({
                  'position':'relative',
                  'top':'auto'
              });
          }
      });
      });
      </script>
       
      Porém, eu quero que a div fique fixa até que outro elemento apareça na tela, tipo o rodapé da página por exemplo. É mais ou menos como a página de notícia do uol.
      https://noticias.uol.com.br/internacional/ultimas-noticias/2025/01/19/sonho-americano-brasileiros-moram-em-carro-e-buscam-comida-no-lixo-nos-eua.htm
       
      Espero ter sido claro.
       
      Obrigado :)
       
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
×

Informação importante

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