Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

programation

[Resolvido] Undefined variable? Como assim? Porquê?

Recommended Posts

Toda vez que vou atualizar os dados ele diz que a variável está indefinida, mas sinceramente, não entendo o porque, já fiz alguns testes, mudei algumas coisas, e infelizmente não vai!

 

Me ajudem por favor.

 

HTML - este são os campos que na próxima página (que seria a PHP) está dando problema


<!-- cidade -->
                   	<td>
                       	Cidade:<br />
                           <select name="cc_cidade" disabled="disabled">
                           <?php								
							//buscar Cidade do imóvel e retornar no select
							$bei	= mysql_query("SELECT * FROM cidades WHERE cd_cidade = '$r[7]'");
							$r_bei	= mysql_fetch_array($bei);

							echo	"<option value='$r_bei[1]'>$r_bei[2]</option>";
                           ?>                        
                           </select>
                       </td>
                       <!-- bairro -->
                   	<td>
                       	Bairro:<br />
                           <select name="cc_bairro" disabled="disabled">
                           <?php								
							//buscar Estado do imóvel e retornar no select
							$bei	= mysql_query("SELECT * FROM bairros WHERE cd_bairro = '$r[8]'");
							$r_bei	= mysql_fetch_array($bei);

							echo	"<option value='$r_bei[0]'>$r_bei[2]</option>";
                           ?>                        
                           </select>
                       </td>

 

PHP


<?php
       include("../conect.php");   	

       include("validar_session.php");

	/* verificando se a variável passou para está página */

	//cod
	if(isset($_POST["cod"]))
		$cod			= $_POST["cod"];
	//cidade
	if(isset($_POST["cc_cidade"]))
		$ccidade 		= $_POST["cc_cidade"];
	//bairro
	if(isset($_POST["cc_bairro"]))
		$cbairro 		= $_POST["cc_bairro"];
	//status
	if(isset($_POST["c_status"]))
		$status			= $_POST["c_status"];
	//codigo
	if(isset($_POST["c_codigo"]))
		$codigo     	= $_POST["c_codigo"];
	//tipo
	if(isset($_POST["c_tipo"]))
		$tipo       	= $_POST["c_tipo"];
	//data
	if(isset($_POST["c_data"]))
		$data       	= $_POST["c_data"];
	//venda ou locação
	if(isset($_POST["c_vl"]))
		$vl         	= $_POST["c_vl"];
	//condomínio
	if(isset($_POST["c_condominio"]))
		$cond       	= $_POST["c_condominio"];
	//estado
	if(isset($_POST["cc_estado"]))
		$estado     	= $_POST["cc_estado"];
	//endereço
	if(isset($_POST["c_endereco"]))
		$ende       	= $_POST["c_endereco"];
	//número
	if(isset($_POST["c_numero"]))
		$numero     	= $_POST["c_numero"];
	//cep
	if(isset($_POST["c_cep"]))
		$cep            = $_POST["c_cep"];

	/* descrição */

	//apto
	if(isset($_POST["c_apto"]))
		$apto       	= $_POST["c_apto"];
	//área útil
	if(isset($_POST["c_au"]))
		$au         	= $_POST["c_au"];
	//área terreno
	if(isset($_POST["c_at"]))
		$at         	= $_POST["c_at"];
	//dormitórios
	if(isset($_POST["c_dormitorios"]))
		$dorm       	= $_POST["c_dormitorios"];
	//cozinhas
	if(isset($_POST["c_cozinhas"]))
		$cozinhas   	= $_POST["c_cozinhas"];
	//armários
	if(isset($_POST["c_armarios"]))
		$arma       	= $_POST["c_armarios"];
	//suítes
	if(isset($_POST["c_suites"]))
		$suites     	= $_POST["c_suites"];
	//cozinhas planejadas
	if(isset($_POST["c_cp"]))
		$cp         	= $_POST["c_cp"];
	//varandas
	if(isset($_POST["c_varandas"]))
		$varandas   	= $_POST["c_varandas"];
	//sala de estar
	if(isset($_POST["c_se"]))
		$se         	= $_POST["c_se"];
	//escritórios
	if(isset($_POST["c_escritorios"]))
		$escri          = $_POST["c_escritorios"];
	//vagas
	if(isset($_POST["c_vagas"]))
		$vagas          = $_POST["c_vagas"];
	//sala de jantar
	if(isset($_POST["c_sj"]))
		$sj         	= $_POST["c_sj"];
	//lavabos
	if(isset($_POST["c_lavabos"]))
		$lavabos        = $_POST["c_lavabos"];
	//WC
	if(isset($_POST["c_wc"]))
		$wc         	= $_POST["c_wc"];
	//sala de TV
	if(isset($_POST["c_stv"]))
		$stv            = $_POST["c_stv"];
	//pisos
	if(isset($_POST["c_pisos"]))
		$pisos          = $_POST["c_pisos"];

	/* lazer */

	//piscina
	if(isset($_POST["c_piscina"]))
		$piscina        = $_POST["c_piscina"];
	//salão de ginásticas
	if(isset($_POST["c_sginasticas"]))
		$ginas          = $_POST["c_sginasticas"];
	//sauna
	if(isset($_POST["c_sauna"]))
		$sauna          = $_POST["c_sauna"];
	//salão de estas
	if(isset($_POST["c_sfestas"]))
		$festas     	= $_POST["c_sfestas"];
	//salão de jogos
	if(isset($_POST["c_sjogos"]))
		$jogos          = $_POST["c_sjogos"];
	//quadra
	if(isset($_POST["c_quadra"]))
		$quadra     	= $_POST["c_quadra"];
	//churrasqueiras
	if(isset($_POST["c_churras"]))
		$churras        = $_POST["c_churras"];
	//playground
	if(isset($_POST["c_play"]))
		$play       	= $_POST["c_play"];

	/* dados */

	//valor
	if(isset($_POST["c_valor"]))
		$valor          = $_POST["c_valor"];
	//mostrar valor
	if(isset($_POST["c_mt"]))
		$mt         	= $_POST["c_mt"];
	//proprietário (nome)
	if(isset($_POST["c_proprietario"]))
		$propri     	= $_POST["c_proprietario"];
	//estado
	if(isset($_POST["c_estado_dados"]))
		$estadod        = $_POST["c_estado_dados"];
	//cidade
	if(isset($_POST["c_cidade_dados"]))
		$cidaded        = $_POST["c_cidade_dados"];
	//bairro
	if(isset($_POST["c_bairro_dados"]))
		$bairrod        = $_POST["c_bairro_dados"];
	//endereço
	if(isset($_POST["c_endereco_dados"]))
		$ended          = $_POST["c_endereco_dados"];
	//número
	if(isset($_POST["c_numero_dados"]))
		$numerod        = $_POST["c_numero_dados"];
	//cep
	if(isset($_POST["c_cep_dados"]))
		$cepd       	= $_POST["c_cep_dados"];
	//telefone
	if(isset($_POST["c_telefone"]))
		$teld       	= $_POST["c_telefone"];
	//celular
	if(isset($_POST["c_celular"]))
		$celd       	= $_POST["c_celular"];
	//corretor
	if(isset($_POST["c_corretor"]))
		$corretor   	= $_POST["c_corretor"];
	//comissão
	if(isset($_POST["c_comissao"]))
		$comissao   	= $_POST["c_comissao"];
	//campo oculto
	if(isset($_POST["editor1"]))
		$obs            = $_POST["editor1"];

	/* continua... */

	//atualizando no DB
	$con_ai		= mysql_query("UPDATE imoveis SET codigo = '$codigo', tipo = '$tipo', data = '$data', vl = '$vl', condominio = '$cond', estado = '$estado', cidade = '$ccidade', bairro = '$cbairro', endereco = '$ende', numero = '$numero', cep = '$cep', apto = '$apto', area_util = '$au', area_terreno = '$at', dormitorios = '$dorm', cozinhas = '$cozinhas', armarios = '$arma', suites = '$suites', cozinhas_planejadas = '$cp', varandas = '$varandas', sala_estar = '$se', escritorios = '$escri', vagas = '$vagas', sala_jantar = '$sj', lavabos = '$lavabos', wc = '$wc', sala_tv = '$stv', pisos = '$pisos', piscina = '$piscina', salao_ginastica = '$ginas', sauna = '$sauna', salao_festas = '$festas', salao_jogos = '$jogos', quadra = '$quadra', churrasqueira = '$churras', playground = '$play', valor = '$valor', mostrar_valor = '$mt', proprietarios = '$propri', estado_dados = '$estadod', cidade_dados = '$cidaded', bairro_dados = '$bairrod', endereco_dados = '$ended', numero_dados = '$numerod', cep_dados = '$cepd', telefone = '$teld', celular = '$celd', corretor = '$corretor', comissao = '$comissao', obs = '$obs', status = '$status' WHERE cod = '$cod'");

       if(!$con_ai)
       {
               ?>
               <script>
                       alert("Erro ao atualizar. Contate o Administrador!");
                       this.location = "index.php";
               </script>
               <?php
	}
       else
       {                        
               ?>
               <script>
                       alert("Atualização realizada com sucesso!");
                       this.location = "index.php";
               </script>
               <?php
       }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, provavelmente você está chamando uma variável que não foi iniciada, por exemplo ela existe só que esta dentro de um IF sendo que esse IF não foi usado desta forma ela não é reconhecida e gera este erro, inicie as variáveis com um default.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao seria melhor fazer um foreach ae nao?

 

so uma dica

$sets = array();
foreach($_POST as $key => $value)
{
$sets[]="{$key}='{$value}'";
}
$set = implode(',',$sets);
//e usa este  o $set no locar dakele set enorme q você usou no seu update...

Compartilhar este post


Link para o post
Compartilhar em outros sites

(Igor) Bom, comparado com o tamanho do seu script eu diria que sim, mas o problema é que eu não entendi muito bem a lógica desta programação!

 

Mas é ai que está a questão do problema, eu percebi agora que os valores do select name cc_cidade e cc_bairro, não estão sendo passados pelo formulário até a página do PHP, mas é muito estranho, o meu HTML está correto, até porque quando eu abro o código fonte antes de lugar no botão para atualizar, ele mostra que os campos estão com options e seus valores de forma correta :/ ...

 

os valores dos selects cc_cidade e cc_bairro não estão sendo passados para o PHP pelo formulário, alguém tem uma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você só deve tentar executar a query, se o form for enviado. Logo:

 


if( $_SERVER['REQUEST_METHOD']=='POST' )
{
   $con_ai = mysql_query("UPDATE imoveis SET codigo = '$codigo', 
   tipo = '$tipo', data = '$data', vl = '$vl', condominio = '$cond', 
   estado = '$estado', cidade = '$ccidade', bairro = '$cbairro', 
   endereco = '$ende', numero = '$numero', cep = '$cep', apto = '$apto', 
   area_util = '$au', area_terreno = '$at', dormitorios = '$dorm', 
   cozinhas = '$cozinhas', armarios = '$arma', suites = '$suites', 
    cozinhas_planejadas = '$cp', varandas = '$varandas', sala_estar = '$se', 
    escritorios = '$escri', vagas = '$vagas', sala_jantar = '$sj', lavabos = '$lavabos', 
    wc = '$wc', sala_tv = '$stv', pisos = '$pisos', piscina = '$piscina', 
    salao_ginastica = '$ginas', sauna = '$sauna', salao_festas = '$festas', 
    salao_jogos = '$jogos', quadra = '$quadra', churrasqueira = '$churras', 
    playground = '$play', valor = '$valor', mostrar_valor = '$mt', 
    proprietarios = '$propri', estado_dados = '$estadod', cidade_dados = '$cidaded', 
    bairro_dados = '$bairrod', endereco_dados = '$ended', numero_dados = '$numerod', 
    cep_dados = '$cepd', telefone = '$teld', celular = '$celd', 
    corretor = '$corretor', comissao = '$comissao', obs = '$obs', 
    status = '$status' 
    WHERE cod = '$cod'");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

campos com o atributo disabled não são enviados.

 

o outro atributo que "bloqueia", mas envia é o readonly, porém até onde sei, não existe readonly nativo e crossbrowser para <select>.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aaaaaaaaaaaaaaa pessoal, muito obrigado cheguei na conclusão deste tópico...

 

Tudo isso era por causa dos selects estarem desabilitados, o que eu fiz foi remover o disabled = disabled dos selects, e assim, o formulário conseguiu passar as variáveis e seus valores para o PHP, ou seja, se algum campo estiver desabilitado os seus valores e ele próprio não será passado a próxima página (PHP) pelo formulário. Que interessante, eu não sabia disso!

 

Mas obrigado pessoal, agora deu certo!

 

Tópico [RESOLVIDO]

 

Ok, mas agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.