2011-03-14 3 views
1

ajax/php를 사용하여 라이브 검색 (ajax)을 시도하는 중입니다. 나는 (2) 파일, index.php 및 searching.php있다. 필자는 입력시 주어진 필드에 대해 데이터베이스를 검색하기위한 초기 쿼리를 작성했습니다. 아약스 검색을 수행하기 위해 PHP 및 아약스로 구현하는 데 도움이 필요합니다. 3 가지 값 중 하나가있을 때 상자를 검색하기 위해 $ query 변수를 구현했습니다 (예 : '이름 입력'등). 누군가? 나는이 하나 :)Php Ajax를 사용하는 Livesearch - 도움이 필요하십니까?

Index.php는에 좀 급해요

<!DOCTYPE html> 
<html> 
<head> 
    <link rel="stylesheet" href="global.css" media="screen" /> 
    <link rel="stylesheet" href="design.css" media="screen" /> 
    <style type="text/css"> 
    .hidden { 
    display: none; 
    } 
    </style> 
    <script type="text/javascript" src="inc/jquery.js"> </script> 
    <script type="text/javascript">$(function() {$('input[type=text]').focus(function() {$(this).val('')});});</script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
     $("input[type=radio]").click(function(){ 
      $(".box").val(this.value); 
     }); 
    }); 
    </script> 

</head> 

<body> 
<div id="top_wrapper_bg"> 
    <div id="wrapper_top"> 
     <div id="header"> 
       <div id="logo"> 
       <a href="index.php"><img src="img/logo-02-01-11.png" alt="logo-02-01-11" width="300" height="100" border="0" /></a> 
       </div><!-- /logo --> 
       <div id="header_image"> 
       right 
       </div><! -- /header_image --> 
       <div id="clear"> </div><! -- /clear --> 
       <div id="nav"> 
       nav 
       </div><! -- /nav --> 
     </div><!-- /header--> 
    </div><!-- /wrapper_top --> 
</div><!-- /top_wrapper_bg --> 

<div id="header_search_break"> </div> 

<div id="bot_wrapper_bg">  
    <div id="wrapper_bottom"> 
      <div id="search"> 
        <span class="medfont">Search by:</span> 
         <form id="searchSelect" action="searching.php"> 
          <input type="radio" name="search_value" value="Enter Professor Name">Professor 
          <input type="radio" name="search_value" value="Enter Course (e.g. COM 310)">Course 
          <input type="radio" name="search_value" value="Enter Major (e.g. Business)">Major 
         </form> 
         <br>    
        <input class="box" type="text" size="25" name="searchQuery" value="Select an option..." class="textField clearMeFocus" /> 
      </div><!-- /search --> 
      <div id="latest_stats"> 
      <p>Stats</p> 
      </div><!-- /latest_stats --> 
      <div id="clear"> </div> 
     <div id="contain_stats"> 
       <div id="latest_prof"> 
       latest prof 
       </div><!-- /latest_prof --> 

       <div id="top_prof"> 
       top prof 
       </div><!-- /top_prof --> 
       <div id="clear"> </div><! -- /clear --> 
     </div><!-- /contain_stats --> 
     <br><br><br><br><br><br><br><br> 
    </div><!-- /wrapper_bottom --> 
</div><!-- /bot_wrapper_bg --> 
</body> 
</html> 

searching.php

<?php 
require_once('dbconnec.php'); 
$query = $_POST['search_value']; 
SELECT profID, fName, lName FROM professor WHERE fName OR lName LIKE $query; // search for professor ajax livesearch code 
SELECT courseID, name, primaryCode, secondaryCode FROM course WHERE courseID OR name OR primaryCode or secondaryCode LIKE $query; // search for course ajax livesearch code 
SELECT name FROM department WHERE name LIKE $query; // search by dept ajax livesearch code 
?> 
+0

그것은 당신의'searching.php' 나타납니다 [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) 공격에 취약합니다. SQL 쿼리에 [prepared statements] (http://php.net/manual/en/pdo.prepared-statements.php)를 사용하여 전체 데이터베이스가 공격자에게 노출되지 않도록하십시오. – sarnold

답변

0
header("Cache-Control: no-cache, no-store, must-revalidate"); 
if(isset($_GET['nme'])) 

{
$ NME = $ _GET [ 'nme']; $ query = "전체 이름이 '%'와 같은 사용자로부터 선택 *. Sanitize ($ _ GET [ 'nme'])."% ' "; $ result = mysql_query ($ query);
살균이()는 "검색 (this.value)"onchange를 =이 있어야합니다 귀하의 의견에 다음 SQL 주입

을 멀리 유지하기 위해 만든 내 자신의 함수이다>는

+0

이 방법을 알려주시겠습니까? – Jshee

관련 문제