userFeliz 1 Denunciar post Postado Agosto 25, 2015 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 buscaNotice: Undefined index: buscar in C:\xampp\htdocs\Cfinder\buscar.php on line 5Digite algo! Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Agosto 25, 2015 É 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
userFeliz 1 Denunciar post Postado Agosto 26, 2015 É 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
Dellacurtais 36 Denunciar post Postado Agosto 26, 2015 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
userFeliz 1 Denunciar post Postado Agosto 26, 2015 Perfeito, salvaram um leigo muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites