2013-08-27 2 views
0

검색 할 수있는 간단한 형식이 있으며 결과를 DIV에 표시하고자하므로 아약스를 사용하고 있습니다.변수 전달하기 - Ajax 및 Php

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#boton_cargar').click(function() { 

    var nombre = $("#nombre").val(); 
     $.ajax({ 
     type: "GET",   
     url: 'resultados.php?nombre='+nombre, 
      success: function(data) { 
       $('#resultados').html(data); 
       $('#resultados div').slideDown(1000); 
      } 
     }); 
    }); 

}); 
</script> 




<form> 
<input id="nombre" name="nombre" type="text" /> 

<input name="boton_cargar" id="boton_cargar" type="button" value="buscar" /> 
</form> 

<div id="resultados"> 
    // I want to show results here 
</div> 

이 내가 내가 {$ _GET [ '브레']} "jhon"를 대체 할 경우, 예를 들어, 잘못 모르는

<?php 
include('loader.php'); //call db 

$conn = new conection(); 
$rs = new RecordSet($conn); 

if(isset($_GET['nombre'])) 

$sql="SELECT * FROM clientes INNER JOIN alquiler ON clientes.id_cliente = alquiler.id_cliente INNER JOIN insumos ON insumos.id_insumo = alquiler.id_insumo WHERE `clientes`.`nombre` = {$_GET['nombre']}"; 
else 
die('error'); 


unset($rs); 
unset($conn); 
?> 

<?php foreach($resultados as $res){ ?> 
    <?php echo $res->nombre ?> 
<?php }?> 

resultados.php입니다 결과를 얻을 수 있습니다.

희망은 저를 도울 수 있습니다, 미리 많이 감사드립니다! 그 형식은 시도하기 때문에,

$sql="SELECT * FROM clientes INNER JOIN alquiler ON clientes.id_cliente = alquiler.id_cliente INNER JOIN insumos ON insumos.id_insumo = alquiler.id_insumo WHERE `clientes`.`nombre` = '" . $_GET['nombre'] . "'"; 
+0

** 경고 ** 귀하의 코드는 SQL 주입 공격에 취약합니다! –

+0

어디에서'$ sql'을 실행합니까? '$ resultados'의 정의는 어디에 있습니까? – MaveRick

+0

대신'{$ _GET [ 'nombre']}'시도' ' ". $ _GET ['nombre ']." – MaveRick

답변

1

는이와 SQL 라인을 대체하여 {$_GET['nombre']}

$sql="SELECT * FROM clientes INNER JOIN alquiler ON clientes.id_cliente = alquiler.id_cliente INNER JOIN insumos ON insumos.id_insumo = alquiler.id_insumo WHERE `clientes`.`nombre` = '{$_GET['nombre']}'"; 
0

보십시오 따옴표를 넣을 필요가 없습니다 이 :

$sql = "SELECT * FROM clientes INNER JOIN alquiler ON clientes.id_cliente = alquiler.id_cliente INNER JOIN insumos ON insumos.id_insumo = alquiler.id_insumo WHERE `clientes`.`nombre` = '".$_GET['nombre']."'"; 

나는 당신을 도울 수 있기를 바랍니다.

0

귀하의 문제는 쿼리입니다 반환하지 않습니다 아무것도 :

+0

답장을 보내 주셔서 감사합니다! 나는 2 개의 변수로 시도하고 있는데, 아마도 URL이 작동하지 않기 때문에 잘못하고있다. 'resultados.php? nombre ='+ nombre '& insumos ='+ insumos, 경우 (는 isset ($ _ GET을 [에코 'nombre']) && ($ _GET [ 'insumos'])) $ sql = "SELECT * FROM ....... WHERE'clientes'.'nombre' = '"$ _GET ['nombre '] . ''그리고''alquiler'.id_insumo' = ' ". $ _ [insumos]]."'; – Maru

관련 문제