ERRO na pagina op_categorias podem me ajudar?

20/07/2013

0

PHP

olá preciso de uma ajuda com a pagina op_categorias, esta pagina é a responsável por inserir a categoria no BD, o prblema é que quando aperto o batão de inserir a pagina op_categorias fica toda branca e não apresenta nenhum erro e nem a categoria inseri no BD.

segue os dois codigos o frm_categorias e op_categorias.

frm_categorias
<?php include "conexao.php"; 

$acao = $_GET["acao"]; 
$id = $_GET["id"]; 
$categorias = $_GET['categorias'];

//echo $id; 
if ($acao != "") 
{ 
$sql = "SELECT * FROM caterorias WHERE id_categorias = '$id' "; 
//echo $sql,'<br />'; 
$resultado = mysql_query($sql)OR DIE(mysql_error()); 
$linha = mysql_fetch_array($resultado); 

$categorias = $linha["categorias"]; 
}else{ 
$categorias ='';	
} 
//echo $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> 
<link href="estilo.css" rel="stylesheet" type="text/css" /> 
</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_categorias.php"> 
<table width="314" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td width="76" class="estilo_L"><strong>Categoria</strong></td> 
<td width="224" class="estilo_L"><label> 
<input name="txt_categoria" type="text" id="txt_categoria" size="35" value="<?php echo $categorias; ?>" /> 
</label></td> 
</tr> 
<tr> 
<td colspan="2" class="estilo_L"><label> 
<div align="center"> 
<input type="hidden" name="id" value="<?php echo $id; ?>" /> 
<input type="hidden" 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> </td> 
</tr> 
</table> 
</body> 
</html>






op_categorias (com defeito)

<?php  include "conexao.php";

$acao 	= $_POST["acao"];
$id		= $_POST["id"];

$txt_categoria = isset($_POST['txt_categoria']);


if ( $acao=="Inserir" ) 
{
	
	$sql = "INSERT INTO cateroria (categorias) VALUES ('$txt_categoria')";
	mysql_query($sql) or die ("não foi possível inserir dados");
	
	print "<script type = 'text/javascript'> location.href = 'principal.php?link=2'</script>";
}

if ($acao==Alterar ) 
{
	$sql= "UPDATE cateroria SET categorias='$txt_categoria' WHERE id_categorias = $id";
	mysql_query ($sql);	
	print "<script type = 'text/javascript'> location.href = 'principal.php?link=2'</script>";
}

if ($acao==Excluir) 

{
	$sql = "DELETE FROM cateroria WHERE id_categorias = $id"; 	

   mysql_query($sql);   
   print "<script type = 'text/javascript'> location.href = 'principal.php?link=2'</script>";
  
}

?>

Ronaldo Souza

Ronaldo Souza

Responder

Posts

20/07/2013

Gabriel Simas

Olá Ronaldo,

Estou achando que $acao possa não estar recebendo nada, ou então existe algum erro no tratamento.

Faça o seguinte, dentro da op_categorias, dê um echo em $acao para ver se ele está trazendo algum valor e se sim, você pode vir dando estes "echos" e debugando esta página desta forma, assim, você vai conseguir identificar o erro.O PHP dá tela branco por ser erro 500 ou por não ter mesmo retorno algum.

Faça estes testes e poste aqui e nos informe do sucesso ou não para que a gente possa te dar outra ajuda.

Forte Abraço, pode contar conosco.

Gabriel Simas.
Responder

21/07/2013

Ronaldo Souza

cara com que faz o echo mesmo? é print "acao"; é isso?
Responder

21/07/2013

Ronaldo Souza

gabrielsimas, blz consegui fazer inserir refando as querys que dava erro, mais agora ele não inseri oq eu coloco no campo ele inseri um NUMERO 1 ao inves de um nome, eu não consigo alterar ou excluir.
Responder

21/07/2013

William

Coleta acredito que o erro está nessa linha:

$txt_categoria = isset($_POST['txt_categoria']);


O retorno da função isset() é booleano, ou seja, "0" senão existir ou "1" ao contrário. Use uma condição ternária, assim ele verifica a existência e retorna um valor após a verificação:

$txt_categoria = isset($_POST['txt_categoria'])?$_POST['txt_categoria']:'';


Qualquer dúvida poste novamente ...
Responder

21/07/2013

Ronaldo Souza

ae vdd havia me eskecido disto, em relação a alterar ou excluir poderia ajudar é só oq falta ser resolvido ae blz...

desde já vlw.
Responder

22/07/2013

William

Está sendo exibido alguma mensagem de erro ou apenas não está alterando no banco?

Capture o valor da variável "$id" da mesma maneira que mostrei para variável "$txt_categoria".
Responder

22/07/2013

Gabriel Simas

Ronaldo,

Fico feliz que tenha conseguido solucionar o seu problema. Conseguiu solucionar 100% com a nossa ajuda da thread? caso sim, informe para que possamos dar a thread como resolvida, caso não, poste aqui para a gente poder te ajudar melhor.

Lembre-se que pode contar sempre conosco.

Forte Abraço...
Responder

24/07/2013

Ronaldo Souza

Não Está sendo exibido nem uma mensagem de erro, fica uma tela branca.
Responder

24/07/2013

William

Colega possivelmente está aqui o erro, faltando aspas "'":
if ($acao == Alterar)

if ($acao == Excluir) 


O correto:

if ($acao == 'Alterar')

if ($acao == 'Excluir') 


Teste novamente ...
Responder

24/07/2013

Paulo Sérgio

Tente isso
ja tive um erro parecido e o problema estava nas aspas, você não colocou aspas na linha 18 e 25 do op_categorias.php

<?php include "conexao.php";

$acao = $_POST["acao"];
$id = $_POST["id"];

$txt_categoria = isset($_POST['txt_categoria']);


if ( $acao=="Inserir" )
{

$sql = "INSERT INTO cateroria (categorias) VALUES ('$txt_categoria')";
mysql_query($sql) or die ("não foi possível inserir dados");

print "<script type = 'text/javascript'> location.href = 'principal.php?link=2'</script>";
}

if ($acao=="Alterar" )
{
$sql= "UPDATE cateroria SET categorias='$txt_categoria' WHERE id_categorias = $id";
mysql_query ($sql);
print "<script type = 'text/javascript'> location.href = 'principal.php?link=2'</script>";
}

if ($acao=="Excluir")

{
$sql = "DELETE FROM cateroria WHERE id_categorias = $id";

mysql_query($sql);
print "<script type = 'text/javascript'> location.href = 'principal.php?link=2'</script>";

}

?>
Responder

24/07/2013

Gabriel Simas

Colega possivelmente está aqui o erro, faltando aspas "'":
if ($acao == Alterar)

if ($acao == Excluir) 


O correto:

if ($acao == 'Alterar')

if ($acao == 'Excluir') 


Wll,

É verdade, eu não notei as variáveis sem as aspas... peço desculpas aos nossos colegas por não tê-las visto.

Forte Abraço

Teste novamente ...
Responder

25/07/2013

Ronaldo Souza

VLW Galera, deu certinho, vou postar todo o codigo aki para quem mais tiver o mesmo problema que eu.

Responder

25/07/2013

Gabriel Simas

Ronaldo,

Que ótimo que deu tudo certo, se puder, faça isso sim, poste aqui o resultado até para que outros colegas que enfrentam o mesmo problema, possam ter uma luz no fim do túnel.

Forte Abraço
Responder

27/07/2013

Ronaldo Souza

RESOLVIDO
PAGINA OP_CATEGORIA CORRIGIDO E RODANDO.

<?php session_start(); 
include "conexao.php";



$acao 	= $_POST["acao"];
$id		= $_POST["id"];
$txt_categoria = isset($_POST['txt_categoria'])?$_POST['txt_categoria']:'';



if ( $acao== "Inserir" ) 
{
	
	$sql = "INSERT INTO caterorias (categorias) VALUES ('$txt_categoria')";
	mysql_query($sql) or die ("não foi possível inserir dados");
	
	print "<script type = 'text/javascript'> location.href = 'principal.php?link=3'</script>";
}

if ($acao=="Alterar") 
{
	$sql = "UPDATE caterorias SET categorias = '$txt_categoria' WHERE id_categorias = $id";
    mysql_query($sql) or die ("não foi possível inserir dados"); 
		
	print "<script type = 'text/javascript'> location.href = 'principal.php?link=3'</script>";
}

if ($acao== "Excluir") 

{

	$sql = "DELETE FROM  caterorias WHERE id_categorias = $id"; 	

   mysql_query($sql) or die ("não foi possível inserir dados"); 
	
	print "<script type = 'text/javascript'> location.href = 'principal.php?link=3'</script>";
  
}

?>
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar