2015-01-13 4 views
0

Я что-то программировал, и я столкнулся с проблемой. Мне было интересно, где проблема, потому что мой код перестает работать после части mysql_query («UPDATE ...»). Вот код, надеюсь, кто-то мне поможет.Телефонный справочник Обновление проблемы

<?php include("/includes/template/header.php"); ?> 

     <section> 

      <form action="" method="post"> 
       <input type="post" name="ime" placeholder="Ime"><br> 
       <input type="post" name="prezime" placeholder="Prezime"><br> 
       <input type="post" name="broj" placeholder="Broj telefona"><br> 
       <input type="post" name="adresa" placeholder="Adresa"><br> 
       <input type="submit" name="submit" value="Trazi"> 
      </form> 

      <?php 

       include("includes/config.php"); 

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

         $query = "SELECT id, 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) 
           { 
            $query_row = mysql_fetch_assoc($query_run); 
            $id  = $query_row["id"]; 
            $brojtel = $query_row["broj_telefona"]; 
            $adresa = $query_row["adresa"]; 

            echo "<form action=\"\" method=\"post\">"; 
            echo "<input type=\"post\" name=\"ime1\" value=\"$trazeno_ime\"><br></br>"; 
            echo "<input type=\"post\" name=\"prezime1\" value=\"$trazeno_prezime\"><br></br>"; 
            echo "<input type=\"post\" name=\"broj1\" value=\"$brojtel\"><br></br>"; 
            echo "<input type=\"post\" name=\"adresa1\" value=\"$adresa\"><br></br>"; 
            echo "<input type=\"submit\" name=\"submit1\" value=\"Promijeni\">"; 
            echo "</form>"; 

             if(isset($_POST['submit1'])) 
             { 
              if(!empty($_POST['ime1']) && !empty($_POST['prezime1']) && !empty($_POST['broj1']) && !empty($_POST['broj1']) && !empty($_POST['adresa'])) 
              { 
               $novoime  = $_POST['ime1']; 
               $novoprezime = $_POST['prezime1']; 
               $novobroj  = $_POST['broj1']; 
               $novoadresa  = $_POST['adresa1']; 

               mysql_query("UPDATE korisnici SET ime='$novoime', prezime='$novoprezime', broj_telefona='$novobroj', adresa='$novoadresa' WHERE id=$id") or die(mysql_error()); 

               echo "Uspješno promijenjeni podaci"; 
              } 
              else 
              { 
               echo "Morate unijeti sva polja"; 
              } 
             } 
             else 
             { 
              echo "Glupost"; 
             } 
           } 
          else 
          { 

           echo "Nema korisnika u bazi"; 

          } 

         } 
         else 
         { 
          echo "Hahu"; 
         } 

        } 
        else 
        { 
         echo "Unesi podatke"; 
        } 
       } 

      ?> 

     </section> 

    </div> 
</body> 

+0

Вы уязвимы перед [sql injection attack] (http://bobby-tables.com) и больше не должны использовать функции mysql _ *(). Они устарели и устарели. –

+0

Предупреждение mysql_query устарели от PHP 5.5.0 и будут удалены в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. –

ответ

0

Вы должны добавить кавычки, чтобы ваше заявление ид смотрите ниже.

"UPDATE korisnici SET ime='$novoime', prezime='$novoprezime', broj_telefona='$novobroj', adresa='$novoadresa' WHERE id='$id'" 
+0

Я изменил его, и все будет одинаково .. – irholio

Смежные вопросы