2015-01-13 76 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注入攻击](http://bobby-tables.com)的影响,不应该再使用mysql _ *()函数。它们已过时并已弃用。 –

+0

警告 从PHP 5.5.0开始不推荐使用mysql_query,并且将来会被删除。相反,应该使用MySQLi或PDO_MySQL扩展 –

回答

0

您需要报价添加到您的ID声明见下文。

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

我改变了它,一切都是一样的。 – irholio