2013-07-17 4 views
0

사용자가 검색 양식에 입력 한 텍스트를 URL에 삽입 할 수 있습니까? 예를 들어url에 검색 값을 추가하는 방법

: 사용자 검색 "도보 deads" 는 다음과 같이한다면 :

www.domain.com/search.php?=the+walking+deads/이

이가 내 코드 :

<?php 
function connect($host,$username,$database,$password){ 
$to_connect = mysql_connect($host,$username,$password) or die ("UNFinded ".$username. " DB !"); 
$db = mysql_select_db($database, $to_connect) or die (mysql_error()); 
return $db; 
} 
connect("localhost","idevice2_ariel","idevice2_ariel","ariel123456"); 

if (!isset($_POST['submit_form'])) { 
    echo '<form name="search_form1" id="form" method="POST" action="search.php"> 
<input type="text" style="width: 300px; display: block; margin: 0 auto; height: 36px; text-align: center; font-size: 16px;" name="search_name" placeholder="חפש סרט או סדרה..." /> 
<input type="submit" value="Submit" name="submit_form" /> 
</form>'; 
} else { 
     $search_name = $_POST['search_name']; 
     $query = mysql_query("SELECT * FROM `members` WHERE (`moviename` like '%".$search_name."%')"); 
     $count = mysql_num_rows($query); 
     while($row = mysql_fetch_array($query)) { 
     $fname = $row['moviename']; 
     $lname = $row['links']; 
print '<a href="'.$row['links'].'">'.$row['moviename'].'</a><br />'; 
} 
} 
mysql_close($to_connect); 
?> 
<html> 
<head> 
<style type="text/css"> 
a { 
padding:25px 560px; 
    color: red; 
} 
</style> 
</head> 
<body> 

</body> 

</html> 

$ SEARCH_NAME 검색 입력에 입력 어떤 사용자입니다. 이제 URL에는 여전히 검색 파일 이름 만 있습니다. 감사합니다!

답변

0

귀하의 양식은 POST 방법 (<form ... method="POST">)을 통해 데이터를 전송합니다. 데이터를 URL에 넣으려면 method="GET"으로 설정해야합니다. 이 방법 , 당신은 당신의 데이터가 원시있는 데이터가 "$_POST['search_name'];" "$_GET['search_name'];"

그러나 경고까지 검색 변경해야합니다, 당신은 확인 소독하고 탈출해야한다, 그렇지 않으면 아무도 SQL을 시도 할 수 이 코드를 주입합니다.

+0

Asker는 http://php.net/manual/en/mysqli.quickstart.preparedstatements.php를보고 싶을 수 있습니다. – StephenTG

관련 문제