Ir para conteúdo
Fórum Script Brasil
  • 0

Notice: Undefined index


Proteu

Pergunta

Caros colegas,

estou desenvolvendo um página em php+mysql e estou com muitos probles com Notice: Undefined index

<?php
session_start();
    if ($_SESSION['autentica']<>'foifoifoifoi'){
        header('location:../aviso.php?id=1');
    }
?>
<html>
<head>
<title>Assoc - Associação Social Canaã</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url(file:///C|/servidor/www/Fisk/classes.css);
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
@import url("../classes.css");
-->
</style>
<link href="../../classes.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
     <td><div align="center"><p align="center"><img src="../../imagem/topo_site1.bmp" alt="Assoc" width="155" height="110"></p>
      <p align="left">&nbsp; </p>  
    </div></td>
  </tr>
  <tr>
    <td><div align="center"><a href="../index.php"><strong><font color="#0000FF"><img src="../../imagem/inicio.png" alt="In&iacute;cio" width="80" height="62" border="0" longdesc="index.php"></font></strong></a> <font color="#0000FF"><strong> <a href="../cadastros.php"><img src="../../imagem/cadastro3.png" alt="Cadastros" width="78" height="62" border="0"></a>        </strong></font> <font color="#0000FF"><strong> <a href="../buscar.php"><img src="../../imagem/pesquisa.png" alt="Buscar" width="76" height="61" border="0"></a><a href="../impressao.php"><img src="../../imagem/cadastro.png" alt="Relat&oacute;rios" width="76" height="62" border="0"></a><a href="../administracao.php"> <font color="#0000FF"><img src="../../imagem/adm.png" alt="Administra&ccedil;&atilde;o" width="72" height="61" border="0"></font></a>
            </strong></font><strong> </strong><font color="#0000FF"><strong> <a href="../../aviso.php?id=2"><img src="../../imagem/logoff-48.png" alt="Sair" width="51" height="51" border="0"></a></strong></font></div></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC"><div align="center"><strong>ol&aacute; <?php echo $_SESSION['usuario']; ?>,
          Hoje &eacute; <?php echo $_SESSION['data']; ?> </strong></div></td>
  </tr>
  <tr>
    <td><div align="left">
      <p><strong><a href="../buscar.php">Buscar</a>&gt;Buscar no cadastro de aluno:</strong></p>
      <form name="form1" method="post" action="">
      <table width="99%" border="0" align="center" bordercolor="#999999" class="campos">
        <tr>
          <td colspan="7"><div align="center">Ordem:
                  <select name="ordem" class="campos">
                    <option selected value="ASC">Crescente</option>
                    <option value="DESC">Decrescente</option>
                  </select>
        Buscar:
        <select name="tabela" class="campos">
          <option  value="nome">Por nome</option>
          <option  value="nascimento">Por Nascimento</option>
          <option  value="naturalidade">Por naturalidade</option>
          <option  value="sexo">Por Sexo</option>
          <option  value="escolaridade">Por escolaridade</option>
          <option  value="bairro">Por bairro</option>
          <option  value="cidade">Por cidade</option>
          <option  value="cadastro">Por cadastrador</option>
          <option  value="datacadastro">Por data de cadastro</option>
        </select>        
        <br>
        Texto:
        <input name="texto" type="text" class="campos" size="70">
        <input type="submit" name="Submit" value="OK">
            </div>          </td>
        </tr>
        <tr>
          <td colspan="7">&nbsp;</td>
        </tr>
        <tr>
          <td height="19"><div align="left" class="style2">Nome:</div>          </td>
          <td><div align="left" class="style2">Data de Nascimento:</div>          </td>
          <td><div align="left" class="style2">CPF:</div>          </td>
          <td><div align="left" class="style2">Nome da M&atilde;e:</div>          </td>
          <td><div align="left" class="style2">op&ccedil;&otilde;es</div>          </td>
          </tr>
        <?php
require("../../banco.php");
$ordem=$_POST['ordem'];
$tabela=$_POST['tabela'];
$texto=$_POST['texto'];

if ($texto<>'') {
$sql= "select * from aluno where ".$tabela." like '%".$texto."%' GROUP BY nome ".$ordem;
} else {
$sql = "SELECT * FROM aluno GROUP BY nome ".$ordem;
}

$cunhu_proprio=mysql_query($sql);



  while ($dados=mysql_fetch_array($cunhu_proprio, MYSQL_ASSOC)){
    
    if ($a==1){
    echo "<tr><td bgcolor=#F3F3F3>".$dados['nome']."</td>";
    
    echo "<td bgcolor=#F3F3F3>".$dados['nascimento']."</td>";
    
    echo "<td bgcolor=#F3F3F3>".$dados['cpf']."</td>";

    echo "<td bgcolor=#F3F3F3>".$dados['mae']."</td>";
    
    echo "<td><a href=../editar/aluno.php?codigo=".$dados['cod'].">EDITAR</a><td><a href=../excluir/aluno2.php?codigo=".$dados['cod'].">EXCLUIR</a></td>";
        
    ?>
    
  <?php 
          $a=0;
        }else{
        
                echo "<tr><td bgcolor=#BFDFFF>".$dados['nome']."</td>";
    
    echo "<td bgcolor=#BFDFFF>".$dados['nascimento']."</td>";
    
    echo "<td bgcolor=#BFDFFF>".$dados['cpf']."</td>";

    echo "<td bgcolor=#BFDFFF>".$dados['mae']."</td>";
    
    echo "<td><a href=../editar/aluno.php?codigo=".$dados['cod'].">Editar</a><td><a href=../excluir/aluno2.php?codigo=".$dados['cod'].">EXCLUIR</a></td></td>";
    
    ?>
    
  <?php 
          $a=1;
        }
    }

?>
      </table>
      <div align="center"><font color="#0000FF"><strong>Numero de Registros encontrados: <?php echo mysql_num_rows($cunhu_proprio); ?></strong></font>
      </div>
      </form>
      <p>&nbsp;</p>
    </div></td>
  </tr>
  <tr>
    <td bgcolor="#CCCCCC"><div align="center"><strong>Assoc - Associação Social Canaã</strong></div></td>
  </tr>
</table>
</body>
</html>

Notices encontrados:

Notice: Undefined index: ordem in c:\arquivos de programas\easyphp1-7\www\assoc 04-05\home\cadastros\matricula.php on line 123

Notice: Undefined index: tabela in c:\arquivos de programas\easyphp1-7\www\assoc 04-05\home\cadastros\matricula.php on line 124

Notice: Undefined index: texto in c:\arquivos de programas\easyphp1-7\www\assoc 04-05\home\cadastros\matricula.php on line 125

Notice: Undefined variable: a in c:\arquivos de programas\easyphp1-7\www\assoc 04-05\home\cadastros\matricula.php on line 139

Fernando Miranda

Notice: Undefined index: nascimento in c:\arquivos de programas\easyphp1-7\www\assoc 04-05\home\cadastros\matricula.php on line 156

08979735693

Notice: Undefined index: mae in c:\arquivos de programas\easyphp1-7\www\assoc 04-05\home\cadastros\matricula.php on line 160

como faço para corrigir iss no código???

Abs....

Editado por Proteu
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Lembrando que os servidores geralmente não exibem esse tipo de mensagem.

Você pode definir suas variáveis antes de utilizá-la ou deixá-las dessa forma mesmo, desabilitando no seu servidor esses avisos também.

Para fazer isso é só altrar no php.ini a linha:

error_reporting = E_ALL

Para:

error_reporting = E_ALL & ~E_NOTICE

Lembrando que notices não são erros.

Link para o comentário
Compartilhar em outros sites

  • 0

É, mas se ele está tentando usar a variável antes de ela existir, tem alguma coisa errada.

No ambiente de produção, concordo em não exibir NOTICE, mas não acho interessante fazer a modificação no PHP.INI sugerida no seu ambiente de teste, pois este NOTICE pode te mostrar, por exemplo, que você errou o nome da variável. Se estiver como foi colocado acima, você pode perder um bom tempo por ter errado o nome da variável.

Carlos Eduardo

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, porém você ficará recebendo esses notices mesmo quando seu sistema estiver funcionando 100%, e com isso perde uma das principais vantagens de PHP que é o tratamento das variáveis.

Você pode deixar seu sistema adaptado para essas mensagens não aparecerem mais, mas particularmente acho que muito disso é encheção de linguiça.

Link para o comentário
Compartilhar em outros sites

  • 0

eu li seu código e você tem alguns errinhos na ordem das coisas, o php é uma linguagem interpretada linha por linha, e executada dessa mesma maneira, ou seja, ao contrário de linguagens de programação como por exemplo o Java, você não pode definir uma variavel no final do arquivo, e usa-la no começo, é o que acontece com a variavel $a, do erro Notice: Undefined variable: a in c:\arquivos de programas\easyphp1-7\www\assoc 04-05\home\cadastros\matricula.php on line 139

==========

outra coisa, sobre as variaveis ordem, tabela, texto, etc..., por exemplo, eu tenho um form html com um campo chamado beterraba, e na MESMA pagina, eu já tenho um script php, tentando puxar esta informação através do $_POST['beterraba'];

isto não dara certo, pelo simples fato de que a variavel ainda não esta la em $_POST... estas informações só serão transmitidas quando clicado no botão submit... ou quando você explicitamente declarar:

$_POST['beterraba'] = "cresce debaixo da terra"; então você poderá usar na mesma pagina (teoricamente, nunca precisei fazer isto, é apenas uma teoria)...

sua solução seria fazer um botão que executasse essa função de colocar estes valores as suas respectivas variaveis $_POST... ou simplesmente trate o form em outra pagina... assim elas já estarão la...

boa sorte aew ;)

Link para o comentário
Compartilhar em outros sites

  • 0

CARA NÃO SEI SE AINDA PRECISA MAS AI VAI:

<?php

echo $_GET['VARIAVEL'];

?>

SUBSTITUA POR ESSE

<?php

if isset($_GET['VARIAVEL'])) echo $_GET['VARIAVEL'];

?>

OU AINDA

<?php

if(!isset($VARIAVEL))

$VARIAVEL = 0;

?>

SE A VARIAVEL não EXISTIR, FOR INDEFINIDA, DEFINIMOS UM VALOR, NESTE CASO O ZERO A ELA E PRONTO!

OU ENTÃO SE TUDO ESTIVER FUNCINANDO 100% PODEMOS OCULTAR A MENSAGEM DE ERRO COM O @ E PRONTO!

ASSIM

echo @$_GET['VARIAVEL'];

ESPERO TER AJUDADO E RESOLVIDO O TOPIDO!!!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...