Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
PasseI o dia de hoje quase todo tentando achar o problema do evento de alteração de meu formulário e não consegui encontrar.
A mensagem de erro que recebo ao clicar no botão de alteração é:
****
"Notice: Undefined index: id in C:\Arquivos de programas\EasyPHP 2.0b1\www\1_sisg\1_sists\1_loja_bb\php\altera_cadastro_produto.php on line 72"
Conforme podem ver mandei imprimir a string SQL também, onde confirma-se que o índice está ausente.
O que acho estranho é q quando eu chamo este form a partir de outro passando o índice ele carrega com o produto selecionado normalmente.
****
O problema aparece quando eu clico no botão <<ALTERAR>>, quando então me aparece o erro acima citado e as alterações do Bd não são formalizadas.
O código para as tabelas correspondentes ao BD no MYSQL é:
create database bdteste;
use bdteste;
CREATE TABLE `categoria` (
`idCategoria` int(11) NOT NULL auto_increment,
`nomeCategoria` varchar(70) NOT NULL,
PRIMARY KEY (`idCategoria`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=102;
--
-- Extraindo dados da tabela categoria
--
INSERT INTO categoria (idCategoria, nomeCategoria) VALUES
(1, 'A'),
(2, 'B'),
(3, 'C'),
-- --------------------------------------------------------
--
-- Estrutura da tabela produto
--
CREATE TABLE `produto` (
`id_produto` int(10) unsigned NOT NULL auto_increment,
`descricao` varchar(255) default NULL,
`id_categoria` int(4) default NULL,
`qtd_s` int(2) default NULL,
`qtd_p` int(2) default NULL,
`email_comprador` varchar(256) default NULL,
`flag_sim_nao_num` tinyint(3) unsigned default '0',
PRIMARY KEY (`id_produto`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=101;
--
-- Extraindo dados da tabela produto
--
INSERT INTO produto (id_produto, descricao, id_categoria, qtd_s, qtd_p, email_comprador, flag_sim_nao_num) VALUES
(1, 'banheira com suporte', 1, 1, 0, NULL, 1),
(2, 'toalhas fralda', 2, 3, 0, NULL, 1),
(3, 'conjunto de escova', 3, 1, 0, NULL, 1);
JÁ, O CÓDIGO DE DE EXECUÇÃO QUE ESTÁ GERANDO ERRO É:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- TELA DE ALTERAÇÃO DO CADASTRO DE PRODUTOS-->
<head>
<title>SISBB - Módulo de Alteração de Produtos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">.style1 {
color: #FFFFFF;
font-size: 17px;
}.style3 {
color: #0000FF;
font-weight: bold;
font-size: 16px;
text-align:right
}</style>
</head>
<body>
<table width="756" border="0" cellspacing="0" cellpadding="0" bgcolor="#99CCFF">
<tr>
<th align="center">
<h6><span class="style1">
MÓDULO DE ALTERAÇÃO DE PRODUTOS. </span></h6>
<h6><span class="style1">(Faça as devidas alterações e clique em Alterar)</span></h6>
</th>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th valign="middle" bgcolor="#99CCFF">
<?php
if(isset($_POST["tx_produ_cod"])){
include("conecta.php");
if($_POST["Submit"]){
$sql="UPDATE produto SET id_produto = ";
$sql.="'".$_POST["txt_prod_cod"]."', descricao= ";
$sql.="'".$_POST["txt_prod_descr"]."', id_categoria= ";
$sql.="'".$_POST["cbo_categoria"]."', qtd_s= ";
$sql.="'".$_POST["txt_qtd_s"]."', qtd_p= ";
$sql.= $_POST["txt_qtd_p"]." WHERE id_produto ='".$_POST["tx_produ_cod"]."'";
}else{
$sql="INSERT INTO aluno VALUES ( ";
$sql.="'".$_POST["txt_prod_descr"]."', ";
$sql.="'".$_POST["cbo_categoria"]."', ";
$sql.="'".$_POST["txt_qtd_s"]."', ";
$sql.=$_POST["txt_qtd_p"].")";
}
$linha=mysqli_query($sql,$conexao);
?>
<p align="center"> <font size="5">Seus dados foram inseridos com sucesso.</font></p>
<p align="center"><a href="cadastro_aluno.php">Clique aqui para voltar</a></p>
<?php print($sql);?>
<?php
}
else
{
?>
<form name="frm_altera_produtos" method="post" action="altera_cadastro_produto.php">
SISBB - Alteração de Produtos <br>
<?php
include("conecta.php");
$sql2 ="select * from produto where id_produto = '".$_GET["id"]."'";
echo $sql2;
$linha2 = mysqli_query($con,$sql2);
$resp2 = mysqli_fetch_array($linha2);
?>
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr valign="middle"><td width="60%" align="right">Cod.Produto </td>
<td width="58%" align="left">
<input name="txt_prod_cod" type="text" id="txt_prod_cod_id"
value="<?php print($resp2["id_produto"])?>" disabled="disabled">
</td>
</tr>
<tr><td align="right" valign="middle">Descricao </td>
<td>
<textarea name="txt_prod_descr" cols="116" rows="2" wrap="virtual"
id="txt_prod_descr"><?php print($resp2["descricao"])?>
</textarea>
</td>
</tr>
<tr><td align="right" valign="middle">Categoria </td>
<td align="left">
<select name="cbo_categoria">
<?php
//$sql3="select * from turma";
$sql3="select * from categoria order by nomeCategoria";
$linha3=mysqli_query($con,$sql3);
$a= $resp2["id_categoria"];
while($resp3=mysqli_fetch_array($linha3)){
$b= $resp3["idCategoria"];
?>
<option <?php if($a==$b){?>
selected<?php }?>
value="<?php print($resp3["idCategoria"])?>">
<?php print($resp3["idCategoria"])?> - <?php print($resp3["nomeCategoria"])?>
</option>
<?php }?>
</select>
</td>
</tr>
<td align="right" valign="middle">Qtd S </td>
<td align="left" >
<input name="txt_qtd_s" type="text" id="txt_qtd_s"
value="<?php print($resp2["qtd_s"])?>">
</td>
</tr>
<tr>
<td align="right" valign="middle">Qtd P </td>
<td align="left">
<input name="txt_qtd_p" type="text" id="txt_qtd_p"
value="<?php print($resp2["qtd_p"])?>">
</td>
</tr>
<tr>
<td align="right" valign="middle">Flag(1/0) </td>
<td align="left">
<input name="txt_flag" type="text" id="txt_flag"
value="<?php print($resp2["flag_sim_nao_num"])?>">
</td>
</tr>
</table>
<input type="submit" name="Submit" value="Alterar">
</form>
</div>
</tr>
<?php }?>
</table></td>
</tr>
</table>
</div></td>
</tr>
</table>
</body>
</html>
Alguém consegue desvendar este mistério ?
Carregando comentários...