Ir para conteúdo

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 ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

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