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

(Resolvido) Código não reconhece variável


nsouza

Pergunta

Colegas,

estou usando o código abaixo (php + interbase) e esta me retornando a seguinte mensagem de erro:

<input name="txt_categoria" type="text" id="txt_categoria" size="35" value= "<?php echo $categoria; ?>" />

quando imprimo na tela o campo txt_Categoria exibe o erro abaixo:

<br /> <b>Notice</b>: Undefined variable: categoria in <b>C:\sites\www\Loja\admin\frm_categoria.php</b> on line <b>43</b><br />

Como devo declarar esta varialvel?

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

21 respostass a esta questão

Posts Recomendados

  • 0
Está dizendo que você está tentando imprimir o valor de uma variável ($categoria), só que essa variável não existe...

Isso eu sei pela mensagem. Tenho este codigo no inicio da pagina.

A variavel é esta, ou esta errado? Tenho que declarar outra?

<?php include "conexao.php";

$acao = $_GET["acao"];

$id = $_GET["id"];

if ($acao != "")

{

$sql = "SELECT * FROM CATEGORIAS WHERE ID_CATEGORIA= $id";

$resultado = ibase_query ($sql);

$linha = ibase_fetch_assoc($resultado);

$categoria = $linha["CATEGORIA];

}

?>

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

  • 0
Está dizendo que você está tentando imprimir o valor de uma variável ($categoria), só que essa variável não existe...

Isso eu sei pela mensagem. Tenho este codigo no inicio da pagina.

A variavel é esta, ou esta errado? Tenho que declarar outra?

<?php include "conexao.php";

$acao = $_GET["acao"];

$id = $_GET["id"];

if ($acao != "")

{

$sql = "SELECT * FROM CATEGORIAS WHERE ID_CATEGORIA= $id";

$resultado = ibase_query ($sql);

$linha = ibase_fetch_assoc($resultado);

$categoria = $linha["CATEGORIA];

}

?>

você está utilizando o firebird?

post o codigo todo

Link para o comentário
Compartilhar em outros sites

  • 0
Está dizendo que você está tentando imprimir o valor de uma variável ($categoria), só que essa variável não existe...

Isso eu sei pela mensagem. Tenho este codigo no inicio da pagina.

A variavel é esta, ou esta errado? Tenho que declarar outra?

<?php include "conexao.php";

$acao = $_GET["acao"];

$id = $_GET["id"];

if ($acao != "")

{

$sql = "SELECT * FROM CATEGORIAS WHERE ID_CATEGORIA= $id";

$resultado = ibase_query ($sql);

$linha = ibase_fetch_assoc($resultado);

$categoria = $linha["CATEGORIA];

}

?>

você está utilizando o firebird?

post o codigo todo

Abaixo o codigo solicitado

<?php include "conexao.php";

$acao = $_GET["acao"];

$id = $_GET["id"];

if ($acao != "")

{

$sql = "SELECT * FROM CATEGORIAS WHERE ID_CATEGORIA = '$id'";

$resultado = ibase_query ($sql);

$linha = ibase_fetch_assoc($resultado);

$categoria = $linha["CATEGORIA"];

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style1 {

font-family: Arial, Helvetica, sans-serif;

font-weight: bold;

font-size: 24px;

}

-->

</style>

</head>

<body>

<table width="99%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td><div align="center" class="style1">Categorias</div></td>

</tr>

<tr>

<td><form id="form1" name="form1" method="post" action="op_categoria.php">

<table width="314" border="1" align="center" cellpadding="2" cellspacing="0">

<tr>

<td width="76"><strong>Categoria</strong></td>

<td width="224"><label>

<input name="txt_categoria" type="text" id="txt_categoria" size="35" value= "<? echo $categoria; ?>" />

</label></td>

</tr>

<tr>

<td colspan="2"><label> <div align="center">

<input type="" name="id" value= " <?php echo $id; ?>" />

<input type="" name="acao" value = "<?php if ($acao !="") {echo $acao;} else { echo "Inserir";} ?>" />

<input type="submit" name="Submit" value="<?php if ($acao !="") {echo $acao;} else { echo "Inserir";} ?>" />

</div>

</label></td>

</tr>

</table>

</form></td>

</tr>

<tr>

<td>&nbsp;</td>

</tr>

</table>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

A variável só vai existir quando ação tiver algum valor, logo...

if ($acao != "")
{
$sql = "SELECT * FROM CATEGORIAS WHERE ID_CATEGORIA = '$id'";
$resultado = ibase_query ($sql);
$linha = ibase_fetch_assoc($resultado);

$categoria = $linha["CATEGORIA"];
}else{
$categoria = '';
}

Se ação estiver em branco cria a variável sem nenhum valor...

Link para o comentário
Compartilhar em outros sites

  • 0
A variável só vai existir quando ação tiver algum valor, logo...

if ($acao != "")
{
$sql = "SELECT * FROM CATEGORIAS WHERE ID_CATEGORIA = '$id'";
$resultado = ibase_query ($sql);
$linha = ibase_fetch_assoc($resultado);

$categoria = $linha["CATEGORIA"];
}else{
$categoria = '';
}

Se ação estiver em branco cria a variável sem nenhum valor...

(RESOLVIDO) Desabilitei a opção de notificação do php.

Link para o comentário
Compartilhar em outros sites

  • 0

Putz...eu to com um problema bem parecido e não sei mais o que fazer para resolver...rs... :unsure:

Meu erro:

Notice: Undefined variable: acao in C:\Arquivos de programas\EasyPHP5.3.0\www\Chantal3\admin\categoria.php on line 43

Linha 43: if ($acao != ""){

O Código:

<td><div align="center"><span class="style6">Cadastro de Categoria</span><br />

<?php

if ($acao != ""){

$sql = mysql_query (" SELECT * FROM categorias WHERE id_categoria");

?>

<form id="form1" name="form1" method="post"action="<?php echo $PHP_SELF ?>">

<table width="289" border="1" align="center">

<tr>

<td width="65"><span class="style8">Categoria:</span></td>

<td width="212"><input name="text_categoria" type="text" id="text_categoria" size="35" /></td>

</tr>

<tr>

<td colspan="2"><div align="right">

<input type="submit" name="button" id="button" value="Enviar" />

</div></td>

</tr>

</table>

</form>

<?php } else {?>

<table width="100%" border="1">

<tr bgcolor="#E5E5E5">

<td width="84%"><span class="style6">Categoria</span></td>

<td colspan="2"><div align="center" class="style6">Ação</div></td>

</tr>

<?php $sql = mysql_query("SELECT * FROM categorias");

while ($coluna = mysql_fetch_array($sql)) {

?>

<tr>

<td><?php echo $coluna['categoria'] ?></td>

<td width="8%"><span class="style4">Editar</span></td>

<td width="8%"><span class="style4">Excluir</span></td>

</tr>

<?php } ?>

<tr>

<td>&nbsp;</td>

<td colspan="2"><div align="right"><span class="style4">inserir</span></div></td>

</tr>

</table>

<?php } ?>

<p>&nbsp;</p>

</div></td>

Link para o comentário
Compartilhar em outros sites

  • 0

Então FIT, eu estou inciando em php e não entendo absolutamente nada ainda..rs

Estou seguindo um cruso em cd de como criar uma loja virtual na unha...e o video é bem antiguinho eu acho.

Não sei se tem haver com a versão do php..a minha é 5.3 e a dele não sei, mas meu myadmin é 3.2 e o dele é 2.1...

Acho que pode ter haver com a versão porque eu estou fazendo tudo perfeitamente como ele virgula por virgula e ainda sim está dando erro em quase tudo o que ele faz...kkkk

Mas no dele não aparece erros...o que será que eu preciso fazer para arrumar em? sem tirar a parte do php.ini que mostra esses ERROS e NOTICES, porque quero deixar redonda.

Um exemplo FIT...

No video ele faz um teste pra mostar como chamar um dado do banco que é o seguinte:

<?php

$sql = "SELECT * FROM categorias";

$dados = mysql_query($sql);

$linha = 0;

while ($linha < mysql_num_rows($dados)){

echo mysql_result($dados, $linha, categoria);

echo "<br>";

$linha += 1;

}

?>

E deu um erro muito parecido com o de cima...mas pesquisando no google vi que alguns códigos parecido com o meu tinha "" no categoria echo mysql_result($dados, $linha, categoria);

Coloquei as "" deixando assim e funcionou perfeitamente..sem erro nenhum:

<?php

$sql = "SELECT * FROM categorias";

$dados = mysql_query($sql);

$linha = 0;

while ($linha < mysql_num_rows($dados)){

echo mysql_result($dados, $linha, "categoria");

echo "<br>";

$linha += 1;

}

?>

Em fim...são varias coisas que ele faz no video e que funciona perfeitamente e pra mim da esses notices ou erros.

Link para o comentário
Compartilhar em outros sites

  • 0

O duro que já confiri..rs

vi e revi varaias e varias vez mas está igualzinho ao video...

não sei mais o que fazer...hehehe

PrTs da tela do video:

categorias.jpg

Prts da minha tela DW:

codigo_menu.jpg

Prts do erro no site:

codigo_menu2.jpg

Link para o comentário
Compartilhar em outros sites

  • 0

Tem certeza que está igualzinho?

Está diferente sim, e o erro está bem aonde eu tinha apontado antes, pelo menos segundo o que você postou aqui! ;)

$sql = mysql_query (" SELECT * FROM categorias WHERE id_categoria ???");

Em todo caso no print da sua tela está correto, já tentou mudar o nome dessa variavel? só a nivel de teste mesmo.

Link para o comentário
Compartilhar em outros sites

  • 0

É...não tinha tentado isso não.

Escrevi errado no post mesmo....mas no código estava certo..rs

Tentei fazer o que você falo e o erro continua e só mudou a variavel de nome também..rs

Notice: Undefined variable: teste in C:\Arquivos de programas\EasyPHP5.3.0\www\Chantal3\admin\categoria.php on line 43

ta dificil...rs :(

Link para o comentário
Compartilhar em outros sites

  • 0

Sim sim...mantive tudo identico

você diz os nomes das tableas do myadmin?

na verdade vou postar o código todo pra você ver melhor:

<?php include "conexao.php" ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style1 {

color: #CCCCCC;

font-weight: bold;

font-family: Verdana, Arial, Helvetica, sans-serif;

font-size: 12px;

}

.style2 {

color: #FFFFFF;

font-weight: bold;

font-size: 11px;

font-family: Verdana, Arial, Helvetica, sans-serif;

}

.style4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }

.style6 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; }

.style8 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12; }

-->

</style>

</head>

<body>

<table width="750" align="center">

<tr>

<td colspan="2"><?php include "cabecalho.php" ?></td>

</tr>

<tr valign="top">

<td width="153"><?php include "menu.php" ?></td>

<td width="585"><table width="100%">

<tr>

<td>&nbsp;</td>

</tr>

<tr>

<td><div align="center"><span class="style6">Cadastro de Categoria</span><br />

<?php

if ($acao != ""){

$sql = mysql_query (" SELECT * FROM categorias WHERE id_categoria = $id");

?>

<form id="form1" name="form1" method="post"action="<?php echo $PHP_SELF ?>">

<table width="289" border="1" align="center">

<tr>

<td width="65"><span class="style8">Categoria:</span></td>

<td width="212"><input name="text_categoria" type="text" id="text_categoria" size="35" /></td>

</tr>

<tr>

<td colspan="2"><div align="right">

<input type="submit" name="button" id="button" value="Enviar" />

</div></td>

</tr>

</table>

</form>

<?php } else {?>

<table width="100%" border="1">

<tr bgcolor="#E5E5E5">

<td width="84%"><span class="style6">Categoria</span></td>

<td colspan="2"><div align="center" class="style6">Ação</div></td>

</tr>

<?php $sql = mysql_query("SELECT * FROM categorias");

while ($coluna = mysql_fetch_array($sql)) {

?>

<tr>

<td><?php echo $coluna['categoria']?></td>

<td width="8%"><span class="style4">Editar</span></td>

<td width="8%"><span class="style4">Excluir</span></td>

</tr>

<?php } ?>

<tr>

<td>&nbsp;</td>

<td colspan="2"><div align="right"><span class="style4">inserir</span></div></td>

</tr>

</table>

<?php } ?>

<p>&nbsp;</p>

</div></td>

</tr>

</table>

</td>

</tr>

<tr>

<td colspan="2"><?php include "rodape.php" ?></td>

</tr>

</table>

</body>

</html>

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

  • 0

Então velhinho...seguinte, até mesmo na hora que o cara vai colocar id_categoria ele volta pro banco de dados pra dar uma espiada pra se era isso mesmo...eu tinha feito com igual mesmo, mas eu já tentei tanta coisa, por isso no print que te mandei tava diferente mesmo...mas já arrumei e deixei igual ao dele de novo.

Continua com o erro...rs

Mas eu não entendi a sua pergunta..hehehe...desculpe a ignorancia, mas como disse estou começando agora...

A ideia segundo o cara era que na mesma pagina que são exibida as categorias cadastradas com os links de editar, excluir e inserir, também esteja o formulario que vai editar ou inserir. Então quando você clicar em editar por exemplo, o as tabelas das categorias cadastradas sai e entra o form de cadastro, tudo na mesma pagina, sem mudar e dar refresh na pagina toda e tals...Então tipo..no video ele altera o link na lateral "Categorias" pra mostrar de exemplo o código em ação...

Ele coloca o link como categoria.php?acao=eeee e ele abre o form e tira as categorias. As minhas categorias estão sendo exibidas, mas o esquema do link também não funciona não..kkk

Segue os prints: (e os erros continuam..rs)

codigo_menu3.jpg

codigo_menu4.jpg

codigo_menu5.jpg

Link para o comentário
Compartilhar em outros sites

  • 0

Hummm...ai você me pego em!! não tenho ideia de onde seja..rs

O unico lugar que tem esse acao é ai..rs

você quer que eu poste a aula em algum lugar tipo 4shared?

E por falar nisso...velhinho, muito obrigado pela paciencia e por tentar me ajudar!!

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

  • 0

Opa...tenho uma novidade!!

Consegui criar algo aqui perto do que eu queria só com recordset do dw.

Agora eu consigo cadastrar categorias, subcategorias relacionando com as categorias, editar, excluir e tals...

Na hora de exibir, aquele esquema de admin mesmo que mostra todas as subcategorias existentes no banco com o nome da categoria na frente...isso eu consegui certinho.

Mas agora não sei como fazer pra colocar eles em um menu do tipo dropdown, que é o que eu preciso...rs

Será que tem como alguém me ajudar nisso?? porque do resto já esta beleza!! depois que eu terminar tudo eu até tento dazer um passo a passo de como eu fiz e coloco aqui pra galerinha que ta na mesma que eu..rs

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...