Ir para conteúdo

POWERED BY:

Arquivado

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

userFeliz

Problemas para recuperar valor de input

Recommended Posts

Olá

 

Estou criando um sistema de busca com ajax bem simples, a principio o ajax ta funcionando, porém o php não ta recuperando o valor do input

ps: to usando BootStrap

segue os codigo

 

html:

<form   class="form-horizontal">
<div class="col-sm-12" style="background-color:transparent; border:none;" >
      <input  name="buscar" class="form-control input-lg" type="text" id="formGroupInputLarge" placeholder="Busque por Produtos ou Serviços perto de você" />
</div>
	<button type="button"  id="btbuscar" class="btn btn-default btn-left"> Buscar </button>
</form>	

Ajax(jquery):

		$(document).ready(function(){
	 	 $("#btbuscar").click(function(){
			var nomeProduto = $("#formGroupInputLarge").val();
			
			$.ajax({  
	 	 		
	 	 		   url: "buscar.php", 
				   dataType: 'html',
				   data: {produto:nomeProduto},
				   type: "POST", 
				   
				    beforeSend: function ()   { 
				    	$('#carregando').show();
				    },
				    success: function(data){
				    	$('#carregando').hide();
						$("#content").html('<b>Resultado da busca</b><br /><br/>'+ data );

				    },
					error: function(data){
						$('#carregando').html(data);
					}

						  	
			        
			});
	 	 });
	 });

php:


<?php
	include('includes/conect.php');

	$buscar = $_POST['buscar'];
	if(empty($buscar)){
		echo "Digite algo!";
	
	}else{
				//$busca = mysql_real_escape_string($buscar);
	$query = mysql_query("(SELECT * FROM company WHERE  name_company LIKE '%".$buscar."%' 
	or  email_company LIKE '%".$buscar."%' or  fone_company LIKE '%".$buscar."%' 
	or  adress_company LIKE '%".$buscar."%' or  Date_company LIKE '%".$buscar."%') UNION ALL
	
	(SELECT * FROM products WHERE  name_product LIKE '%".$buscar."%' 
	or  description_product LIKE '%".$buscar."%' or  price_product LIKE '%".$buscar."%' 
	or  date_product LIKE '%".$buscar."%')
	ORDER BY ID_company DESC") or die(mysql_error());

	if(mysql_num_rows($query) == 0) {
		echo "<span id='noPost'>Nenhum Post foi encontrado</span>";
	} else {
		while($post = mysql_fetch_assoc($query)) {
	?>
		
	
	
		<div id="Na">
		<ul>
		<li> <span><strong>Nome:</strong> <?php  echo str_replace( $buscar, '<b style="color:black;">' . $buscar . '</b>', mb_substr($post['name_company'], 0, 30)); ?> </span> </li>
		</ul>
		</div>
	
<?php
			
		}	
}
		
	}



?>

Quando vou executar isso sempre da que o campo ta vazio e o seguinte erro:

A linha 5 é justamente a variavel que era pra recuperar o valor

$buscar = $_POST['buscar'];

Resultado da busca


Notice: Undefined index: buscar in C:\xampp\htdocs\Cfinder\buscar.php on line 5
Digite algo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É preciso tratar os dados. utilize o isset(). isso não é um erro, é apenas um aviso de index indefinida, ou seja, variável indefinida.

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

É preciso tratar os dados. utilize o isset(). isso não é um erro, é apenas um aviso de index indefinida, ou seja, variável indefinida.

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

opa amigo, realmente, parou de me retornar tal aviso, mas a variável ainda continua sem valor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Ajax -> data: {produto:nomeProduto},

 

No Php -> $_POST['produto'], obviamente $_POST['buscar'] estará sem valor...

 

No caso, no ajax teria de ser -> data: {buscar:nomeProduto},

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.