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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar