Ir para conteúdo
Mosqueirão

Aparecendo o erro : Undefined índex: Id

Recommended Posts

Boa noite. 

To com um problema, quando eu lanço a super global com Id do usuário aparece esse erro , mas apenas quando eu não estou logado, como posso tá resolvendo isso ? 

 

Notice: Undefined index: Id in ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, qual super global você está se referindo?

 

Qualquer coisa o que resolve seu problema. Antes se querer fazer alguma coisa com o valor dessa suposta condicional verifique se ela existe usando isset();

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 horas atrás, Omar~ disse:

Primeiro, qual super global você está se referindo?

 

Qualquer coisa o que resolve seu problema. Antes se querer fazer alguma coisa com o valor dessa suposta condicional verifique se ela existe usando isset();

 

 

Obrigado pela sua atenção.

 

realmente eu esqueci de colocar a super global. A super global que me refiro é a $_SESSION.

 

eu sei qual é o problema, só não sei resolver, antes de logar essa super global está vazia, pois ela busca o id do usuário ($_SESSION[‘id’]), mas quando não tem ninguém logado ela trás esse erro:

 

Notice: Undefined index: in c:\pasta\teste\index.php on line 24

 

como posso tá tratando esse erro ? 

 

Obrigado mais uma vez pela sua atenção 

Compartilhar este post


Link para o post
Compartilhar em outros sites
14 horas atrás, Mosqueirão disse:

como posso tá tratando esse erro ? 

Usando isset()

 

Não sei como você está usando esse valor mas de do jeito que for a condicional é sempre a mesma:

Exemplos:

<?php
if (isset($_SESSION['id'])) {
   // Se for definido $_SESSION['id'] isso acontecerá
}
// Caso não exista nem erro terá

// ************* //
// Outro exemplo
$variavel = (isset($_SESSION['id']) ? $_SESSION['id'] : 'Outra coisa');
// Ou seja se definido $_SESSION['id'] $variavel será o valor, caso não será uma string "Outra coisa"
// então de um jeito ou de outro sempre vai existir a condicional

// ************* //
// Outro exemplo
if (isset($_SESSION['id']) && $_SESSION['id'] == 1) {
}
// Nesse termo a $_SESSION['id'] tem que exsitir e deve ser de valor "1"
// Caso não se enquadre na condição, erro não existirá

E assim vai pode ser feito de diversas formas dependendo do resultado final a se obter.

Leia a documentação a respeito: http://php.net/manual/pt_BR/function.isset.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Quibanga91
      Saudações pessoal... Estou desenvolvendo um sistema e o o mesmo incorpora o módulo finanças. 
      Tenho um pilha de mensalidades, onde cada uma se encontar em um select.
      Gostaria que a principio todas elas estivessem desabilitadas excepto o primeiro check, e que ao habilitar o primeiro check, o segundo check pudesse estar disponível para ser habilitado. e se eu desabilitar o primeiro check, o segundo volta a estar indisponível (disable) para ser habilitado.e assim por diante, ou seja só posso selecionar um checkbox se o chekbox anterior estiver selecionado
      Gostaria de fazer isso co jquery ou php puro ou com outras sugestões vindas do forum.
      desde já agradeço e espero estar a ser coerente na minha explanação
      <input disable type="checkbox" > Janeiro <input disable type="checkbox" > Fevereiro <input disable type="checkbox" > Março <input disable type="checkbox" > Abril  
    • Por Felipe Raphael de Lima
      Olá, estou tentando colocar esse sistema de noticias na mesma linha e para mudar as noticias a cada 10 segundos, alguém teria uma ideia de como fazer isso. 
      Desde já muito obrigado. 
       
      <?php $titulo = array(); $data = array(); $link = array(); $quantos = 1; $exibir = 10; $limite_title = 100; $items = simplexml_load_file("http://g1.globo.com/dynamo/rss2.xml")->channel->item; $doc = new DOMDocument; foreach($items as $item) { $titulo[] = utf8_decode(substr($item->title, 0, $limite_title)." - "); $link[] = $item->link; $data[] = utf8_decode($item->pubDate); $quantos++; //Converte o objeto para string $desc = (string) $item->description; } //For principal: for ($i = $quantos-($exibir+1); $i < $quantos-1; $i++) { if($titulo[$i]!="") { echo '<a style="font-size:30px; href="'.$link[$i].'" target="_blank">'.utf8_encode($titulo[$i]).' <small style="font-size:12px;color:#999;"><br/></a>'.str_replace(" ", " as ", date('d/m/Y H:m:s', strtotime($data[$i]))).'</small> <hr style="border:1px solid #CCC;"> '.$borda.' '; } } ?>  
    • Por santans
      é exibido um erro para mim quando eu envio um formulário ao banco de dados, quando uma das colunas é um auto increment de ID;
      no caso quando eu envio o arquivo sem a coluna de auto increment o DB recebe o formulário corretamente.
       
      o erro que é exibido no código PHP diz que o numero de colunas do formulário não batem com as do DB.
       
      quando estou sem o auto increment de id ativo não ocorre erro algum pois o numero de campos do formulário são 9 e as colunas do DB 9.
       
      quando eu ativo o auto increment o erro volta acontecer pois os campos do formulário são 9 e as colunas do DB 10.
       
      como resolvo isso?
    • Por santans
      estou desenvolvendo uma tela de login, mas quando tento selecionar um script de redirecionamento de pagina que me leve de volta para a tela de login ou para o painel de controle caso consiga logar ocorre o seguinte erro:
       
      ( ! ) Parse error: syntax error, unexpected 'echo' (T_ECHO), expecting ',' or ';' in C:\wamp64\www\cadastro\laguna\userauthentication.php on line 43
       
       
       
      Abaixo esta o código o programa de autenticação de dados a partir do banco de dados (Lembrando que o erro ocorre na hora em que o redirecionamento para a tela inicial caso não estejam autenticados os dados ou caso os dados sejam verdadeiros e o redirecionamento falha na hora de encaminhar a tela inicial do site)...
      <?php $host = "localhost"; $user = "root"; $pass = ""; $banco = "cadastro"; $mysqli_connection = new MySQLi('localhost', 'root', '', 'cadastro'); if($mysqli_connection->connect_error){ echo "Desconectado! Erro: " . $mysqli_connection->connect_error; }else{ echo "Conectado!"; } ?> <html> <head> <meta charset="utf-8"> <title>Autenticando...</title> <script type="text/javascript"> function loginsuccessfully(){ setTimeout("window.location='painel.php'", 5000); } function loginfailed() { setTimeout("window.location='login.php'", 2000); } </script> </head> <body> <?php $email=$_POST['email']; $senha=$_POST['senha']; $sql = mysqli_query("SELECT * FROM usuarios WHERE email = '$email' and '$senha'") or die(mysqli_error()); $row = mysqli_num_rows($sql); if ($row > 0) { session_start(); $_SESSION['email']=$_POST['email']; $_SESSION['senha']=$_POST['email']; echo "<center>Você foi logado com sucesso! Aguarde um momento!</center>" echo "<script>loginsuccessfully()</script>"; }else{ echo "<center>senha ou email invalidos!</center>" echo "<script>loginfailed()</script>" } ?> </body> </html>  
       
      Abaixo esta o código do formulário:
       
      <html> <head> <title></title> </head> <body> <form name="loginform" method="post" action="userauthentication.php"> E-mail:<input type="text" name="email"><br/><br/> Senha:<input type="password" name="senha"><br/><br/> <input type="submit" value="entrar"></button> </form> </body> </html> fiquem a vontade ...
      quem puder ajudar 
       
       
    • Por daniiel
      Boa tarde, eu gostaria de cadastrar esse formulário, só que o numero de Matricula tem que ser diferente, 
      queria saber como faço para quando não tiver nenhuma usuário cadastrado, a primeira matricula seria 20181350.
      depois verificar se tivesse alguma matricula cadastrada no banco, caso tivesse, chamasse o numero e incrementava +1, no caso ficando "20181351" ... "20181352".
       
      <!doctype html> <html lang="pt-br"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.11/jquery.mask.min.js"></script> <title>CADASTRO DE ALUNOS TEMPORARIO IESSC</title> </head> <script type="text/javascript"> $("#cpf").mask("000.000.000-00"); </script> <body> <div class="container" style="margin-top:5%; margin-bottom:10%;"> <div class="row justify-content-md-center"> <img src="logo.png" width="230" height="110"> </div><br> <h3>CADASTRO DE ALUNOS</h3> <?php require 'Conn.php'; $Dados = filter_input_array(INPUT_POST); //var_dump($Dados); if (!empty($Dados['SendCadUser'])): unset($Dados['SendCadUser']); $conn = new Conn(); //MUDANDO NUMERO DE MATRICULA $result_user = "SELECT id, matricula FROM usuarios ORDER BY i DESC LIMIT 1"; $resultado_user = $conn->getConn()->prepare($result_user); $resultado_user->execute(); $digMatricula = 1; $matricula = 20181350; while($row_user = $resultado_user->fetch(PDO::FETCH_ASSOC)): if(empty($row_user['matricula'])): $matricula = 20181350; else: $digMatricula = $digMatricula++; $matricula = $row_user['matricula']+$digMatricula; endif; endwhile; $result_cadastrar = "INSERT INTO usuarios (anolet, matricula, nome, email, cpf, rg, nascimento, telefone, mae, pai, estadoCivil, sexo, endereco, numCasa, cep, bairro, cidade, uf, niveis_acesso_id) VALUES (:anolet, :matricula, :nome, :email, :cpf, :rg, :nascimento, :telefone, :mae, :pai, :estadoCivil, :sexo, :endereco, :numCasa, :cep, :bairro, :cidade, :uf :niveis_acesso)"; $cadastrar = $conn->getConn()->prepare($result_cadastrar); $cadastrar->bindParam(':anolet', $Dados['anolet']); $cadastrar->bindParam(':matricula', $Dados['matricula']); $cadastrar->bindParam(':nome', $Dados['nome']); $cadastrar->bindParam(':email', $Dados['email']); $cadastrar->bindParam(':cpf', $Dados['cpf']); $cadastrar->bindParam(':rg', $Dados['rg']); $cadastrar->bindParam(':nascimento', $Dados['nascimento']); $cadastrar->bindParam(':telefone', $Dados['telefone']); $cadastrar->bindParam(':mae', $Dados['mae']); $cadastrar->bindParam(':pai', $Dados['pai']); $cadastrar->bindParam(':estadoCivil', $Dados['estadoCivil']); $cadastrar->bindParam(':sexo', $Dados['sexo']); $cadastrar->bindParam(':endereco', $Dados['endereco']); $cadastrar->bindParam(':numCasa', $Dados['numCasa']); $cadastrar->bindParam(':cep', $Dados['cep']); $cadastrar->bindParam(':bairro', $Dados['bairro']); $cadastrar->bindParam(':cidade', $Dados['cidade']); $cadastrar->bindParam(':uf', $Dados['uf']); $cadastrar->bindParam(':niveis_acesso', $Dados['niveis_acesso']); $cadastrar->execute(); if ($cadastrar->rowCount()): echo "Cadastrado com sucesso"; endif; endif; ?> <form name="CadUsuario" method="POST"> <div class="row"> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <label class="input-group-text" for="inputGroupSelect01">ANO LETIVO *</label> </div> <select class="custom-select" id="inputGroupSelect01" name="anolet"> <option value="2018.1" selected>2018.1</option> <option value="2018.2">2018.2</option> <option value="2017.1">2017.1</option> <option value="2017.1">2017.2</option> </select> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">MATRICULA *</span> </div> <input type="text" class="form-control" placeholder="MATRICULA" name="matricula" value="<?php echo $matricula; ?>"> </div> </div> </div> <div class="row"> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">NOME *</span> </div> <input type="text" class="form-control" placeholder="NOME" name="nome"> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">E-MAIL</span> </div> <input type="text" class="form-control" placeholder="E-MAIL" name="email"> </div> </div> </div> <div class="row"> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">CPF *</span> </div> <input type="text" class="form-control" placeholder="000.000.000-00" name="cpf" maxlength="14" id="cpf"> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">RG *</span> </div> <input type="text" class="form-control" placeholder="RG" name="rg"> </div> </div> </div> <div class="row"> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">DATA DE NASCIMENTO</span> </div> <input type="date" class="form-control" placeholder="DATA DE NASCIMENTO" name="nascimento"> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">TELEFONE</span> </div> <input type="text" class="form-control" placeholder="TELEFONE" name="telefone"> </div> </div> </div> <div class="row"> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">MÃE</span> </div> <input type="text" class="form-control" placeholder="NOME DA MÃE" name="mae"> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">PAI</span> </div> <input type="text" class="form-control" placeholder="NOME DO PAI" name="pai"> </div> </div> </div> <div class="row"> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <label class="input-group-text" for="inputGroupSelect01">ESTADO CIVIL</label> </div> <select class="custom-select" id="inputGroupSelect01" name="estadoCivil"> <option selected>SELECIONE</option> <option value="SOLTEIRO(A)">SOLTEIRO(A)</option> <option value="CASADO(A)">CASADO(A)</option> <option value="DIVORCIADO(A)">DIVORCIADO(A)</option> <option value="VIUVO(A)">VIUVO(A)</option> </select> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <label class="input-group-text" for="inputGroupSelect01">SEXO</label> </div> <select class="custom-select" id="inputGroupSelect01" name="sexo"> <option selected>SELECIONE</option> <option value="MASCULINO">MASCULINO</option> <option value="FEMININO">FEMININO</option> </select> </div> </div> </div> <div class="row"> <div class="col-8"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">ENDEREÇO</span> </div> <input type="text" class="form-control" placeholder="ENDEREÇO" name="endereco"> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">NÚMERO</span> </div> <input type="text" class="form-control" placeholder="NÚMERO DA CASA" name="numCasa"> </div> </div> </div> <div class="row"> <div class="col-4"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">CEP</span> </div> <input type="text" class="form-control" placeholder="CEP" name="cep"> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">BAIRRO</span> </div> <input type="text" class="form-control" placeholder="BAIRRO" name="bairro"> </div> </div> </div> <div class="row"> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">CIDADE</span> </div> <input type="text" class="form-control" placeholder="CIDADE" name="cidade"> </div> </div> <div class="col"> <div class="input-group mb-3"> <div class="input-group-prepend"> <label class="input-group-text" for="inputGroupSelect01">UF</label> </div> <select name="uf" class="custom-select" id="inputGroupSelect01"> <option value="AC">Acre</option> <option value="AL">Alagoas</option> <option value="AP">Amapá</option> <option value="AM">Amazonas</option> <option value="BA">Bahia</option> <option value="CE">Ceará</option> <option value="DF">Distrito Federal</option> <option value="ES">Espírito Santo</option> <option value="GO">Goiás</option> <option value="MA">Maranhão</option> <option value="MT">Mato Grosso</option> <option value="MS">Mato Grosso do Sul</option> <option value="MG">Minas Gerais</option> <option value="PA">Pará</option> <option value="PB">Paraíba</option> <option value="PR">Paraná</option> <option value="PE">Pernambuco</option> <option selected value="PI">Piauí</option> <option value="RJ">Rio de Janeiro</option> <option value="RN">Rio Grande do Norte</option> <option value="RS">Rio Grande do Sul</option> <option value="RO">Rondônia</option> <option value="RR">Roraima</option> <option value="SC">Santa Catarina</option> <option value="SP">São Paulo</option> <option value="SE">Sergipe</option> <option value="TO">Tocantins</option> <option value="ESTRANGEIRO">Estrangeiro</option> </select> </div> </div> </div> <input type="hidden" name="niveis_acesso" value="1"> <input type="submit" value="Cadastrar" name="SendCadUser" class="btn btn-primary"> </form> </div> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> </body> </html>  
×

Informação importante

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