Array
(
)

ERRO na pagina op_categorias podem me ajudar?

PHP
Ronaldo Souza
   - 20 jul 2013

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
#Código

<?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)
#Código
<?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>";
  
}

?>

Gabrielsimas
   - 20 jul 2013

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.

Ronaldo Souza
   - 21 jul 2013

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

Ronaldo Souza
   - 21 jul 2013

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.

William (devwilliam)
   - 21 jul 2013

Coleta acredito que o erro está nessa linha:

#Código

$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:

#Código
$txt_categoria = isset($_POST['txt_categoria'])?$_POST['txt_categoria']:'';


Qualquer dúvida poste novamente ...

Ronaldo Souza
   - 21 jul 2013

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.

William (devwilliam)
   - 22 jul 2013

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".

Gabrielsimas
   - 22 jul 2013

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...

Ronaldo Souza
   - 24 jul 2013

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

William (devwilliam)
   - 24 jul 2013

Colega possivelmente está aqui o erro, faltando aspas "'":
#Código

if ($acao == Alterar)

if ($acao == Excluir)


O correto:

#Código
if ($acao == 'Alterar')

if ($acao == 'Excluir')


Teste novamente ...

Paulo Sérgio
   - 24 jul 2013

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>";

}

?>

Gabrielsimas
   - 24 jul 2013


Citação:
Colega possivelmente está aqui o erro, faltando aspas "'":
#Código

if ($acao == Alterar)

if ($acao == Excluir)


O correto:

#Código
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 ...

Ronaldo Souza
   - 25 jul 2013

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

Gabrielsimas
   - 25 jul 2013

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

Ronaldo Souza
   - 27 jul 2013

RESOLVIDO
#Código

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>";
  
}

?>