2015-01-06 3 views
-3

나는 전화 번호부를 프로그래밍하고 있으며 현재 문제에 직면하고 있습니다.
ime와 prezime (영문 이름과 성)을 입력하면 그 사람의 broj (영어로 된 전화 번호)를 얻을 수 없습니다.mysql을 사용하는 전화 번호부

<?php 

     mysql_connect ("localhost", "root", ""); 
     mysql_select_db ("imenik"); 
     mysql_set_charset('utf8'); 

     if (isset ($_POST['ime']) && isset ($_POST['prezime'])){ 

      if (!empty ($_POST['ime']) && !empty ($_POST['prezime'])){ 
       $trazeno_ime = $_POST('ime'); 
       $trazeno_prezime = $_POST('prezime'); 

       $query = "SELECT broj_telefona, adresa FROM korisnici WHERE ime='$trazeno_ime' AND prezime='$trazeno_prezime'"; 


        if ($query_run = mysql_query($query)){ 

         if(mysql_num_rows($query_run)==NULL){ 
          echo "Nema korisnika u bazi"; 
         } 

         else { 
          $query_row = mysql_fetch_assoc($query_run); 
          $brojtel = $query_row["broj_telefona"]; 
          $adresa = $query_row["adresa"]; 

          echo "Broj: ".$brojtel."<br>"; 
          echo "Adresa: ".$adresa; 

         } 

        } 
       else { 
        echo "Unesi podatke"; 
       } 
       } 


     } 

    ?> 
+2

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

+0

여는'

+1

'$ _POST ('ime')'와'$ _POST ('prezime')'이들은'()'이 아니라'[]'로 대괄호로 묶어야합니다. –

답변

0

변경이 라인 :

$trazeno_ime = $_POST('ime'); 
$trazeno_prezime = $_POST('prezime'); 

사람 :

$trazeno_ime = $_POST['ime']; 
$trazeno_prezime = $_POST['prezime']; 

및 msyql_ 기능 depricated 때문에 당신이 PDO 또는 문 준비 살펴 보셔야합니다.

+0

* "다음 행 변경 : ... 대상"* - 있음 이유 다. –