Ir para conteúdo

POWERED BY:

Arquivado

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

Sasaski001

Erro Undefined index: Alguem pode me ajudar pls?

Recommended Posts

galera alguem pode me ajudar vou mandar a imagem e o codigo

 

esse e o erro:

image.thumb.png.662c5cde9cc103fed99a0abf3104786f.png

 

 

 

 

 

aqui ta o codigo

 

tarefas.php:

<?php session_start();?>
<html>
<head>
<title>Gerenciador de tarefas</title>
<!--<link rel="stylesheet" href="tarefas.css">-->
</head>
<body>

<h1>Gerenciador de tarefas</h1>
<form>
<fieldset>
       <legend> Nova tarefa</legend>
       <label>
         Tarefa:
         <input type="text" name="nome" />
         </label>
         <input type="submit" value="Cadastrar" />
</fieldset>
</form>
<?php
if(array_key_exists('nome', $_GET)){
        $_SESSION['lista_tarefas'][]=$_GET['nome'];
    }
    $lista_tarefas = [];
    
     if (array_key_exists('lista_tarefas', $_SESSION)){
         $lista_tarefas = $_SESSION['lista_tarefas'];
     }
    
?>
<table>
    <tr>
      <td>Tarefas</td>
    </tr>
<?php foreach ($lista_tarefas as $tarefa ): ?>
<tr>     
   <td> <?php echo $tarefa; ?></td>
   </tr>
   <?php endforeach; ?>
</table>
 </body>
</html>


tabela.php:

<html>
  <head>
   <meta charset="utf-8"/>
<title>Gerenciador de Tarefas</title>
<link rel="stylesheet" type="text/css"  href="tarefas.css">
</head>
<body>

    <table>
       <tr>
                 <th>Tarefas</th>
                 <th>Descrição</th>
                 <th>Prazo</th>
                 <th>Prioridade</th>
                 <th>Concluida</th>    
                 <th>Opções</th>
                             
                 </tr>
                 <?php // foreach e uma repetição
                 foreach     ($lista_tarefas as $tarefa): ?>
                    <tr>
                         <td> <?php echo $tarefa['nome'];?></td>
                         <td> <?php echo $tarefa['descricao'];?></td>
                         <td> <?php echo traduz_data_para_exibir($tarefa['prazo']);?></td>
                         <td><?php echo traduz_prioridade($tarefa['prioridade']); ?></td>
                         <td> <?php echo traduz_concluida( $tarefa['concluida']);?> </td>
                         <td><a href="editar.php?id=<?php echo $tarefa['id']; ?>">Editar</a></tr>
                <?php endforeach; ?>
                               
        </table>
    </body>
</html>

 

template.php:

<html>
  <head>
     <meta charset="utf-8"/>
     <title>Gerenciador de Tarefas</title>
     <link rel="stylesheet" type="text/css" href="tarefas.css">
    </head>
<body>
    
       <?php require 'formulario.php';?>
        <?php  if($exibir_tabela) : ?>
              <?php require 'tabela.php';?>
       <?php endif;?>
</body>    
</html>


banco.php:

<?php
     $bdServidor = '127.0.0.1:3307';
     $bdUsuario = 'root';
     $bdSenha = '';
     $bdBanco = 'tarefas';
    
//
$conexao = mysqli_connect($bdServidor, $bdUsuario, $bdSenha, $bdBanco);
if (mysqli_connect_errno($conexao)){   
    echo "problema para conectar ao banco. Erro: ";
    echo mysqli_connect_error();
    die();    
}
    
function buscar_tarefas($conexao){
    $sqlBusca = 'SELECT * FROM tarefas';
    
    $resultado = mysqli_query($conexao, $sqlBusca);
    
    $tarefas = [];
    
    while ($tarefa = mysqli_fetch_assoc($resultado)){
        $tarefas[] = $tarefa;
        
        }
        
        return $tarefas;
}



function gravar_tarefa($conexao, $tarefa)
{
 $sqlGravar=" INSERT INTO tarefas(nome, descricao,prioridade,prazo,concluida)
      values(
      '{$tarefa['nome']}',
      '{$tarefa['descricao']}',
      '{$tarefa['prioridade']}'
      '{$tarefa['prazo']}'
      '{$tarefa['concluida']}'
      )";
      
      function buscar_tarefa($conexao, $id){
          $sqlBusca = 'SELECT * FROM tarefas WHERE id = '. id;
          $resultado = mysql_query($conexao, $sqlBusca);
          return mysqli_fetch_assoc($resultado);
      }
      
      function editar_tarefa($conexao, $tarefa){
    $sqlEditar = "
    UPDATE tarefas SET
       nome='{$tarefa['nome']}',
       descricao'{$tarefa['descricao']}',
       prioridade'{$tarefa['prioridade']}',
       prazo'{$tarefa['prazo']}',
       concluida'{$tarefa['concluida']}',
    WHERE id = {$tarefa['id']}
    ";
    
}

      mysqli_query ($conexao, $sqlGravar);
      }

?>


index.php:

<?php session_start();
  require "banco.php";
  require "utilitarios.php";
  $exibir_tabela = true;
  if (array_key_exists('nome', $_GET) && $_GET['nome'] != ''){
      $tarefa = [];
      
    $tarefa['nome'] = $_GET['nome'];
    if (array_key_exists('descricao', $_GET)){
      $tarefa['descricao'] = $_GET['descricao'];
    }
    else{
      $tarefa['descricao'] = '';
    }
    if ( array_key_exists('prazo', $_GET)){
     $tarefa['prazo']= traduz_data_para_banco($_GET['prazo']);
    } else{
     $tarefa['prazo'] = '';
    }
    $tarefa ['prioridade'] = $_GET['prioridade'];
       
    if ( array_key_exists('concluida', $_GET)){
         $tarefa['concluida']=1;
    } else{
        $tarefa['concluida'] = 0;
    }
    gravar_tarefa($conexao, $tarefa);
    
    }
    $lista_tarefas = buscar_tarefas($conexao);
    $tarefa=[
    'id'                =>0,
    'nome'              =>'',
    'descricao'         =>'',
    'prazo'             =>'',
    'prioridade'        =>3,
    'concluida'         =>''
    
    ];
    
    include "template.php";
    
?>


utilitarios.php:

<?php
      
      function traduz_prioridade($codigo)
      {
          $prioridade='';;
           
            switch($codigo){
                case 1:
                     $prioridade='Baixa';
                     break;
                case 2:
                     $prioridade='Media';
                     break;
                 case 3:
                 $prioridade='Alta';
                 break;
                
            }
            return $prioridade;
                
      }
      
      function traduz_data_para_banco($data){
          if($data == ""){
          return "";
}
          
          $dados = explode("/", $data);
          $data_banco = "{$dados[2]}-{$dados[1]}-{$dados[0]}";
           
         return $data_banco;
      }
          
      function traduz_data_para_exibir($data){
          
      if($data == "" OR $data == "0000-00-00"){
          return "";
      }
          $dados = explode("-", $data);
          $data_exibir = "{$dados[2]}/{$dados[1]}/{$dados[0]}";
          
          return $data_exibir;
      }
      function traduz_concluida($concluida){
          if($concluida == 1){
              return 'sim';
          }
          return 'Não';
      }
      
      
      ?>

 

formulario.php:

<!DOCTYPE html>

<html>
  <head>
     <meta charset="utf=8" />
     <title>Gerenciador de tarefas</title>
     <link rel="stylesheet" type="text/css" href="tarefas.css">
     </head>
     <body>
         <h1>Gerenciador de Tarefas</h1>
        
         <form>
         <input type="hidden" name="id"
              value="<?php echo $tarefa['id'];?>"/>
           <fieldset>
                 <legend>Nova Tarefa</legend>
                 <label>
                      Tarefa:
                      
                      <input type="text" name="nome"
                      value= "<?php echo $tarefa['nome'];?>" />
                      
                 </label>
                 <label>
                  Descrição:
                  <textarea name="descricao" > <?php echo $tarefa['descricao'];?></textarea>
              </label>
              <label>
                  Prazo:
                  <input type="text" name="prazo"
                  value="<?php echo traduz_data_para_exibir($tarefa['prazo']);?>"/>
                
              </label>
              <fieldset>
                 <legend>Prioridade</legend>
                 <label>
                    <input type= "radio" name="prioridade" value="1" <?php echo ($tarefa['prioridade']==1) ? 'checked': '';?>/> Baixa
                    <input type="radio"  name="prioridade" value="2" <?php echo ($tarefa['prioridade']==2) ? 'checked': '';?> /> Media
                    <input type="radio" name="prioridade" value="3" <?php echo ($tarefa['prioridade']==3) ? 'checked': '';?>/> Alta
                 </label>
              </fieldset>
                <label>
                    Tarefa Concluida:
                     <input type="checkbox" name="Concluida" value="1"<?php echo ($tarefa['concluida']==1) ? 'checked': '';?> />
                </label>
                                   
                         <input type ="submit" value="<?php echo ($tarefa['id'] > 0) ? 'atualizar': 'Cadastrar';?> "/>
               
              </body>
              </html>

 

editar.php:

<?php session_start();
    require "banco.php";
    require "utilitarios.php";
      
  $exibir_tabela = false;
 
  if (array_key_exists('nome', $_GET) && $_GET['nome'] != ''){
      
      $tarefa = [];
      
      $tarefa['id']= $_GET['id'];
    
      $tarefa['nome'] = $_GET['nome'];
    
    if (array_key_exists('descricao', $_GET)){
      $tarefa['descricao'] = $_GET['descricao'];
    }
    
    else{
      $tarefa['descricao'] = '';
    }
    
    if ( array_key_exists('prazo', $_GET)){
     $tarefa['prazo']= traduz_data_para_banco($_GET['prazo']);
    } else{
     $tarefa['prazo'] = '';
    }

    $tarefa ['prioridade'] = $_GET['prioridade'];
       
    if ( array_key_exists('concluida', $_GET)){
         $tarefa['concluida']=1;
    } else{
        $tarefa['concluida'] = 0;
    }
 
    editar_tarefa($conexao, $tarefa);
     header('Location: index.php');
     die();
    }
    $tarefa = buscar_tarefas($conexao,$_GET['id']);
    
    include "template.php";
    
        
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
10 horas atrás, Sasaski001 disse:

 

esse e o erro:

image.thumb.png.662c5cde9cc103fed99a0abf3104786f.png

 

linha 20: Não existe o índice nome no array que está tentando usar.
linha 25: Não existe o índice descricao no array desta linha
linha 30: Não existe o índice prazo naquele array que está lá
...
... idem para o restante
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!
Consegui pensar em três possíveis sugestões:
1) Você pode não usar índices que não existem
2) Você pode verificar se um índice existe, antes de usá-lo.
proceda assim:

<?php
if(isset($var['index'])){
  // use a variável
} else {
  // mostre uma mensagem, avisando que aquele índice não existe
  echo '<p>A variável: <b>$var["index"]</b> não existe!</p>'
}

3) Você pode definir valores padrões para os índices que pretende usar

<?php
// nas linhas iniciais do seu controller, antes de qualquer atribuição acontecer
// defina valores padrões para os índices que pretente usar
$var = [
  'index'=> 1,
  'index-2' => null,
  'index-3' => 'iMasters',
  'index-4' => true,
  'index-5' => false
];

// quando precisar atribuir algum valor a algum daqueles índices, proceda assim:
$var['index-4'] = 'val';
$var['index'] = 0;
...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara tentei definir os valores padroes

mas como e na aba editar deveria aparecer o que ja estava salvo no banco pra mim poder editar mas quando defino os valores padroes nao aparece nada pra editar

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara consegui resover esse erro mas deu um erro no banco

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\tarefas\banco.php on line 57

 

linha 57:

function buscar_tarefa($conexao, $id){
            $sqlBusca = 'SELECT * FROM tarefas WHERE id = ' . $id;
            $resultado = mysqli_query($conexao, $sqlBusca);
            return mysqli_fetch_assoc($resultado);            
        }

 

 

codigo todo:

<html>
    <head>
        <meta charset="utf-8" />
    </head>

    <body>
    
        <?php
            $bdServidor = '127.0.0.1:3307';
            $bdUsuario = 'root';
            $bdSenha = '';
            $bdBanco = 'tarefas';
            
            $conexao = mysqli_connect($bdServidor, $bdUsuario, $bdSenha, $bdBanco);
            
            if (mysqli_connect_errno($conexao)) {
                    echo "Problema para conectar ao banco. Erro: ";
                echo mysqli_connect_error();
                die();
            }
        
        function buscar_tarefas($conexao)
        {
            $sqlBusca = 'SELECT * FROM tarefas';
            $resultado = mysqli_query($conexao, $sqlBusca);
            
            $tarefas = [];
            
            while ($tarefa = mysqli_fetch_assoc($resultado)) {
                $tarefas[] = $tarefa;
            }
            
            return $tarefas;
        }
        
        function gravar_tarefa($conexao, $tarefa)
        {
            $sqlGravar = "
                INSERT INTO tarefas
                (nome, descricao, prioridade,prazo)
                VALUES
                (
                    '{$tarefa['nome']}',
                    '{$tarefa['descricao']}',
                    {$tarefa['prioridade']},
                        '{$tarefa['prazo']}',
                            {$tarefa['concluida']}
                )
            ";
            
            mysqli_query($conexao, $sqlGravar);
        }
        
        function buscar_tarefa($conexao, $id){
            $sqlBusca = 'SELECT * FROM tarefas WHERE id = ' . $id;
            $resultado = mysqli_query($conexao, $sqlBusca);
            return mysqli_fetch_assoc($resultado);            
        }
        
        function editar_tarefa($conexao, $tarefa){
            $sqlEditar = "
            UPDATE tarefas SET
               nome = '{$tarefa['nome']}',
               descricao = '{$tarefa['descricao']}',
               prioridade = {$tarefa['prioriade']},
               prazo = '{$tarefa['prazo']}',
               concluida = {$tarefa['concluida']}
               WHERE id = {$tarefa['id']}
            ";
            mysql_query($conexao, $sqlEditar);
        }
        
        ?>
    </body>
</html>

 

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 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
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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