Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako otkloniti grešku?

[es] :: PHP :: Kako otkloniti grešku?

Strane: 1 2

[ Pregleda: 3293 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Kako otkloniti grešku?23.06.2011. u 08:57 - pre 156 meseci
Prijavljuje mi sl grešku:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
Problem je što sam proveravao kod po sto puta i ne vidim nikakvu grešku... Ako iko zna šta je u pitanju, dobro bi mi došla pomoć...
Code:
<?php
include ("connect_to_mysql.php");
$kolona="";
$red="";

error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php 

if (isset($_GET['deleteid'])) {
    echo 'Do you really want to delete product with ID of ' . $_GET['deleteid'] . '? <a href="pokusaj.php?yesdelete=' . $_GET['deleteid'] . '">Yes</a> | <a href="pokusaj.php">No</a>';
    exit();
}
if (isset($_GET['yesdelete'])) {
    
    $id_to_delete = $_GET['yesdelete'];
    $sql = mysql_query("DELETE FROM knjige WHERE id='$id_to_delete' LIMIT 1") or die (mysql_error());
    
    $pictodelete = ("../inventory_images/$id_to_delete.jpg");
    if (file_exists($pictodelete)) {
                   unlink($pictodelete);
    }
    header("location: pokusaj.php"); 
    exit();
}
?>
<?php 

if (isset($_POST['nazivdela'])){
    
    $nazivdela= mysql_real_escape_string($_POST["nazivdela"]);
    $prezimeautora = mysql_real_escape_string($_POST["prezimeautora"]);
    $imeautora= mysql_real_escape_string($_POST['imeautora']);
    $ISBNbroj = mysql_real_escape_string($_POST['ISBNbroj']);
    $izdavac = mysql_real_escape_string($_POST['izdavac']);
    $oblast = mysql_real_escape_string($_POST['oblast']);
    $podoblast = mysql_real_escape_string($_POST['podoblast']);
    $prostorija = mysql_real_escape_string($_POST['prostorija']);
    $pozicija = mysql_real_escape_string($_POST['pozicija']);
    $godinaizdavanja = mysql_real_escape_string($_POST['godinaizdavanja']);
    $red = mysql_real_escape_string($_POST['red']);
    $kolona = mysql_real_escape_string($_POST['kolona']);
    $mestoizdavanja = mysql_real_escape_string($_POST['mestoizdavanja']);
    $pozicija="$kolona, $red";
    $sql = mysql_query("SELECT id FROM knjige WHERE nazivdela='$nazivdela' LIMIT 1");
    $poklapanjeknjiga = mysql_num_rows($sql); 
    if ($poklapanjeknjiga > 0) {
        echo 'Ne mozete uneti tu knjigu, vec postoji u biblioteci "nazivdela" , <a href="pokusaj.php">click here</a>';
        exit();
    }
    $sql = mysql_query("INSERT INTO knjige(nazivdela, prezimeautora, imeautora, izdavac, ISBNbroj, oblast, podoblast, godinaizdavanja, mestoizdavanja, prostorija, pozicija, red, kolona)      VALUES('$_POST[nazivdela]','$_POST[prezimeautora]','$_POST[imeautora]', '$_POST[izdavac]','$_POST[ISBNbroj]','$_POST[oblast]','$_POST[podoblast]','$_POST[godinaizdavanja]','$_POST[mestoizdavanja]','$_POST[prostorija]', '$_POST[pozicija]', '$_POST[red]', '$_POST[kolona]'") or die (mysql_error());
     $pid = mysql_insert_id();
    // Place image in the folder 
    $newname = "$pid.jpg";
    move_uploaded_file( $_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
    header("location: pokusaj.php"); 
    exit();
}
?>
<?php 
$listaknjiga ="";
$sql = mysql_query("SELECT * FROM knjige ORDER BY nazivdela");
$brojacknjiga = mysql_num_rows($sql); 
if ($brojacknjiga > 0) {
    while($row = mysql_fetch_array($sql)){ 
             $id = $row["id"];
             $nazivdela = $row['nazivdela'];
             $prezimeautora = $row['prezimeautora'];
             $imeautora = $row['imeautora'];
             $ISBNbroj = $row["ISBNbroj"];
             $oblast = $row["oblast"];
             $podoblast = $row["podoblast"];
             $prostorija = $row["prostorija"];
             $pozicija = $row["pozicija"];
             $godinaizdavanja = $row["godinaizdavanja"];
             $mestoizdavanja = $row["mestoizdavanja"];
             $kolona = $row["kolona"];
             $red = $row["red"];
             $listaknjiga .= "Knjige ID: $id - <strong>$nazivdela</strong>  - Prezime autora: <strong>$prezimeautora </strong>- Ime autora> <strong>$imeautora</strong>- ISBN broj: <strong>$ISBNbroj</strong>- Oblast: <strong>$oblast</strong>- Podoblast: <strong>$podoblast</strong> - Godina izdavanja: <strong>$godinaizdavanja</strong> - Mesto izdavanja: <strong>$mestoizdavanja</strong> - Prostorija: <strong>$prostorija</strong> - Pozicija: <strong>$pozicija</strong>&nbsp; &nbsp; &nbsp; <a href='pokusaj_edit.php?pid=$id'>edit</a> &bull; <a href='pokusaj.php?deleteid=$id'>delete</a><br />";
    }
} else {
    $listaknjiga = "Nemate ubacene knjige!";
}

?>
<hr/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Lista knjiga</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" />
</head>

<body>
<div align="center" id="mainWrapper">
  <?php include_once("../baner.php");?>
  <div id="pageContent"><br />
    <div align="right" style="margin-right:32px;"><a href="pokusaj.php#inventoryForm">+ Dodaj novu knjigu</a></div>
<div align="left" style="margin-left:24px;">
      <h2>Lista knjiga</h2>
      <?php echo $listaknjiga; ?>
    </div>
    <hr />
    <a name="inventoryForm" id="inventoryForm"></a>
    <h3>
    &darr; Dodavanje nove knjige u biblioteku &darr;
    </h3>
    <form action="pokusaj.php" enctype="multipart/form-data" name="myForm" id="myform" method="post"> <p><strong>Unesite podatke knjige za unos u biblioteku:</strong></p>
  <p><em><strong>Ime knjige: 
        <input name="nazivdela" type="text" />
  </strong></em></p>
  <p><em><strong>
    Prezime autora: 
          <input name="prezimeautora" type="text" />
  </strong></em></p>
  <p><em><strong>Ime autora:
        <input name="imeautora" type="text" />
  </strong></em></p>
  <p><em><strong>Izdavac:
        <input name="izdavac" type="text" />
  </strong></em></p>
  <p>
  <p><em><strong>Godina izdavanja:
        <input name="godinaizdavanja" type="text" />
  </strong></em></p>
  <p>
  <p><em><strong>ISBN broj:
        <input name="ISBNbroj" type="text" />
  </strong></em></p>
  <p>
  <p><em><strong>Mesto izdavanja:
        <input name="mestoizdavanja" type="text" />
  </strong></em></p>
  <p>
  <p><em><strong>Oblst:
        <input name="oblast" type="text" />
  </strong></em></p>
  <p><em><strong>Podoblast:
        <input name="podoblast" type="text" />
  </strong></em></p>
  <p>
  <p><em><strong>Kolona:<label>
      <select name="Kolona"id="Kolona">
        <option value="Kolona"><?php echo $kolona; ?></option>
      <option value="Prva kolona">Prva kolona</option>
      <option value="Druga kolona">Druga kolona</option>
      <option value="Treca kolona">Treca kolona</option>
      <option value="Cetvrta kolona">Cetvrta kolona</option>
      </select>
      <option value="Treca kolona">Treci red</option></select>
      <option value="Cetvrta kolona">Cetvrti red</option></select>
      </label>
  </strong></em></p>
  <p>
<p><em><strong>Red:<label>
      <select name="red"id="red">
        <option value="red"><?php echo $kolona; ?></option>
      <option value="Prvi red">Prvi red</option>
      <option value="Drugi red">Drugi red</option>
      <option value="Treci red">Treci red</option>
      <option value="Cetvrti red">Cetvrti red</option>
      </select>
      <option value="Treci red">Treci red</option></select>
      <option value="Cetvrti red">Cetvrti red</option></select>
      </label>
  </strong></em></p>
  <p>
  <p>
    <input type="submit" />
  </p>
</form>
    <br />
  <br />
  </div>
</div>
</body>
</html>
 
Odgovor na temu

Tyler Durden
Tyler Durden
Beograd

Član broj: 4312
Poruke: 3379
*.verat.net.



+1365 Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 10:11 - pre 156 meseci
To je greska u SQL upitu.
Uradi echo za taj upit koji ti generise PHP i onda pokusaj da ga izvrsis direktno na MySQL serveru. Tako ces lakse navatati gdje je greska u sintaksi.
Beneath civilization's fragile crust, cold chaos churns...
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 11:07 - pre 156 meseci
Hvala! Uspeo sam nekako da ispravim grešku. U pitanju je bila greška kod VALUES koja je trebala ovako da izgleda:VALUES('$nazivdela','$prezimeautora', '$imeautora','$izdavac','$ISBNbroj','$oblast','$podoblast','$godinaizdavanja','$mestoizdavanja','$prostorija','$pozicija','$red','$kolona')"). Pozdrav!
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.20.*



+303 Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 11:21 - pre 156 meseci
Inace u primeru si imao sigurnosnu rupu. Zasto si radio mysql_real_escape_string, a posle ispod umesto da koristis to, ti si koristio vrednosti direktno iz $_POST -a :).
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 12:53 - pre 156 meseci
Eee, kad bih samo znao... :) Imam neki zadatak, pa učim PHP u hodu... Dobro je da nisam lupio nešto gore! :D
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 17:18 - pre 156 meseci
Sad sam zapeo na edit opciji... :( Prikae sve kako treba, ali neće da izvrši promene. Ne znam zašto. Pomagajte...
Code:
<?php 
include ("connect_to_mysql.php");

$listaknjiga="";
$nazivdela = "";
             $prezimeautora = "";
             $imeautora = "";
             $ISBNbroj = "";
             $oblast = "";
             $podoblast = "";
             $prostorija = "";
             $pozicija = "";
             $godinaizdavanja = "";
             $mestoizdavanja = "";
             $kolona = "";
             $red = "";
             $izdavac="";
             $godinaizdavanja="";
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php 

if (isset($_POST['nazivknjige'])) {
    
    $id = mysql_real_escape_string($_POST['thisID']);
    $nazivdela= mysql_real_escape_string($_POST['nazivdela']);
    $prezimeautora = mysql_real_escape_string($_POST['prezimeautora']);
    $imeautora= mysql_real_escape_string($_POST['imeautora']);
    $ISBNbroj = mysql_real_escape_string($_POST['ISBNbroj']);
    $izdavac = mysql_real_escape_string($_POST['izdavac']);
    $oblast = mysql_real_escape_string($_POST['oblast']);
    $podoblast = mysql_real_escape_string($_POST['podoblast']);
    $prostorija = mysql_real_escape_string($_POST['prostorija']);
    $pozicija = mysql_real_escape_string($_POST['pozicija']);
    $godinaizdavanja = mysql_real_escape_string($_POST['godinaizdavanja']);
    $red = mysql_real_escape_string($_POST['red']);
    $kolona = mysql_real_escape_string($_POST['kolona']);
    $mestoizdavanja = mysql_real_escape_string($_POST['mestoizdavanja']);
    $pozicija="$kolona, $red";
    
    $sql = mysql_query("UPDATE products SET nazivdela='$nazivdela', prezimeautora='$prezimeautora', imeautora='$imeautora', ISBNbroj='$ISBNbroj', izdavac='$izdavac', godinaizdavanja='$godinaizdavanja', mestoizdavanja='$mestoizdavanja', oblast='$oblast',podoblast='$podoblast', prostorija='$prostorija',red='$red', kolona='$kolona', pozicija='$pozicija' WHERE id='$id'");
    if ($_FILES['fileField']['tmp_name'] != "") {
       
        $newname = "$pid.jpg";
        move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
    }
    header("location: pokusaj.php"); 
    exit();
}
?>
<?php 
if (isset($_GET['pid'])) {
    $targetID = $_GET['pid'];
    $sql = mysql_query("SELECT * FROM knjige WHERE id='$targetID' LIMIT 1");
    $productCount = mysql_num_rows($sql);
    if ($productCount > 0) {
        while($row = mysql_fetch_array($sql)){ 
             
             $nazivdela = $row['nazivdela'];
             $prezimeautora = $row['prezimeautora'];
             $imeautora = $row['imeautora'];
             $ISBNbroj = $row["ISBNbroj"];
             $oblast = $row["oblast"];
             $izdavac = $row["izdavac"];
             $podoblast = $row["podoblast"];
             $prostorija = $row["prostorija"];
             $pozicija = $row["pozicija"];
             $godinaizdavanja = $row["godinaizdavanja"];
             $mestoizdavanja = $row["mestoizdavanja"];
             $kolona = $row["kolona"];
             $red = $row["red"];
        }
    } else {
        echo "Ne postoji knjiga sa ovim nazivom.";
        exit();}
}
?>

<html>
<head>
<title>Lista knjiga</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" />
</head>

<body>
<div align="center" id="mainWrapper">
  <?php include_once("../baner.php");?>
  <div id="pageContent"><br />
    <div align="right" style="margin-right:32px;"><a href="pokusaj.php#inventoryForm">+ Dodaj novu knjigu</a></div>
<div align="left" style="margin-left:24px;">
      <h2>Lista knjiga</h2>
      <?php echo $listaknjiga; ?>
    </div>
    <hr />
    <a name="inventoryForm" id="inventoryForm"></a>
    <h3>
    &darr; Promena podataka: &darr;
    </h3>
    <form action="pokusaj_edit.php" enctype="multipart/form-data" name="myForm" id="myform" method="post">
    <table width="90%" border="0" cellspacing="0" cellpadding="6">
      <tr>
        <td width="20%" align="right">Naziv dela:</td>
        <td width="80%"><label>
          <input name="nazivdela" type="text" id="nazivdela" size="64" value="<?php echo $nazivdela; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Prezime autora:</td>
        <td width="80%"><label>
          <input name="prezimeautora" type="text" id="prezimeautora" size="64" value="<?php echo $prezimeautora; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Ime autora:</td>
        <td width="80%"><label>
          <input name="imeautora" type="text" id="imeautora" size="64" value="<?php echo $imeautora; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Izdavac:</td>
        <td width="80%"><label>
          <input name="izdavac" type="text" id="izdavac" size="64" value="<?php echo $izdavac; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">ISBN broj:</td>
        <td width="80%"><label>
          <input name="ISBNbroj" type="text" id="ISBNbroj" size="64" value="<?php echo $ISBNbroj; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Oblast</td>
        <td width="80%"><label>
          <input name="oblast" type="text" id="oblast" size="64" value="<?php echo $oblast; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Podoblast:</td>
        <td width="80%"><label>
          <input name="podoblast" type="text" id="podoblast" size="64" value="<?php echo $podoblast; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Godina izdavanja</td>
        <td width="80%"><label>
          <input name="godinaizdavanja" type="text" id="godinaizdavanja" size="64" value="<?php echo $godinaizdavanja; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Mesto izdavanja:</td>
        <td width="80%"><label>
          <input name="mestoizdavanja" type="text" id="mestoizdavanja" size="64" value="<?php echo $mestoizdavanja; ?>" />
        </label></td>
      </tr>
      <tr>
        <td align="right">Prostorija:</td>
        <td><select name="prostorija" id="prostorija">
          <option value="<?php echo $prostorija; ?>"><?php echo $prostorija; ?></option>
          <option value="Prva soba">Prva soba</option>
          <option value="Druga soba">Druga soba</option>
          <option value="Treca soba">Treca soba</option>
          </select></td>
      </tr>
      <tr>
        <td align="right">Kolona:</td>
        <td><select name="kolona" id="kolona">
          <option value="<?php echo $kolona; ?>"><?php echo $kolona; ?></option>
          <option value="Prva kolona">Prva kolona</option>
          <option value="Druga kolona">Druga kolona</option>
          <option value="Treca kolona">Treca kolona</option>
          <option value="Cetvrta kolona">Cetvrta kolona</option>
          </select></td>
      </tr>
      <tr>
        <td align="right">Red:</td>
        <td><select name="red" id="red">
          <option value="<?php echo $red; ?>"><?php echo $red; ?></option>
          <option value="Prvi red">Prvi red</option>
          <option value="Drugi red">Drugi red</option>
          <option value="Treci red">Treci red</option>
          <option value="Cetvrti red">Cetvrti red</option>
          </select></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><label>
          <input name="thisID" type="hidden" value="<?php echo $targetID; ?>" />
          <input type="submit" name="button" id="button" value="Izvrsi promene" />
        </label></td>
      </tr>
    </table>
    </form>
    <br />
  <br />
</body>
</html>
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.20.*



+303 Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 20:53 - pre 156 meseci
Ako ti ne izbaci gresku, mozda ne prosledjujes dobro sve vrednosti. Uradi ovo:
Code:

echo "<pre>";
print_r($_POST);
echo "<pre>";

Da vidis sve vrednosti koje ti stizu na stranu gde radis query.
Takodje, query mozes da radis i ovako:
Code:

if(mysql_query("hdasdjsda)){
     echo "query ok";
     }else{
     echo mysql_error();
ili die(mysql_error());
    };

A mozes i ovako
Code:

$query = "SELECT * FROM something WHERE something = '$somehng'";
echo $query (da vidis jel sve ok).
mysql_query($query)..... it tako dalje

A mogu odmah da ti kazem gde je greska, ali nije fora, samo ce ti kasnije biti teze :)
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 21:11 - pre 156 meseci
Ako mi veruješ, skoro ceo dan gledam po net-u kako da rešim problem i ništa. Verovatno do sad i ne dolaze informacije do mozga! :D Ali duga je noć, provaliću! Hvala na usmeravanju! :)
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?23.06.2011. u 21:37 - pre 156 meseci
Evo još jednog neuspelog pokušaja :(

Code:
<?php
error_reporting(E_ALL);
ini_set("display_errors", "1");
$prostorija="";
$kolona="";
$red="";
$redovi="";
include "connect_to_mysql.php";
if(!isset($_POST['submit'])){
    $qlr = "SELECT * FROM knjige WHERE ID = $_GET[id]";
    $rezultat = mysql_query('$qlr');
    $redovi = mysql_fetch_array('$rezultat');

}
?>
<html>
<title>Promena podataka</title>
<body>
<div align="center" id="mainWrapper">
  <?php include_once("../baner.php");?>
  <div id="pageContent"><br />
    <div align="right" style="margin-right:32px;"><a href="pokusaj.php#inventoryForm">+ Dodaj novu knjigu</a></div>
<div align="left" style="margin-left:24px;">
      <h2>Lista knjiga</h2>
      
    </div>
    <hr />
    <a name="inventoryForm" id="inventoryForm"></a>
    <h3>
    &darr; Promena podataka o knjizi &darr;
    </h3>
    <form action="pokusaj_edit.php" enctype="multipart/form-data" name="myForm" id="myform" method="post"> <p><strong>Unesite podatke knjige za unos u biblioteku:</strong></p>
  <p><em><strong>Ime knjige: 
        <input name="nazivdela" type="text" value-"<?php echo $redovi['nazivdela'];?>"/>
  </strong></em></p>
  <p><em><strong>
    Prezime autora: 
          <input name="prezimeautora" type="text" value-"<?php echo $redovi['prezimeautora'];?>" />
  </strong></em></p>
  <p><em><strong>Ime autora:
        <input name="imeautora" type="text" value-"<?php echo $redovi['imeautora'];?>"/>
  </strong></em></p>
  <p><em><strong>Izdavac:
        <input name="izdavac" type="text" value-"<?php echo $redovi['izdavac'];?>"/>
  </strong></em></p>
  <p>
  <p><em><strong>Godina izdavanja:
        <input name="godinaizdavanja" type="text"value-"<?php echo $redovi['godinaizdavanja'];?>" />
  </strong></em></p>
  <p>
  <p><em><strong>ISBN broj:
        <input name="ISBNbroj" type="text" value-"<?php echo $redovi['ISBNbroj'];?>"/>
  </strong></em></p>
  <p>
  <p><em><strong>Mesto izdavanja:
        <input name="mestoizdavanja" type="text" value-"<?php echo $redovi['mestoizdavanja'];?>"/>
  </strong></em></p>
  <p>
  <p><em><strong>Oblst:
        <input name="oblast" type="text" value-"<?php echo $redovi['oblast'];?>"/>
  </strong></em></p>
  <p><em><strong>Podoblast:
        <input name="podoblast" type="text" value="<?php echo $redovi['podoblast'];?>"/>
  </strong></em></p>
  <p>
  <p><em><strong>Prostorija:<label>
      <select name="prostorija"id="prostorija">
        <option value="prostorija"><?php echo $prostorija; ?></option>
      <option value="Prva prostorija">Prva prostorija</option>
      <option value="Druga prostorija">Druga prostorija</option>
      <option value="Treca prostorija">Treca prostorija</option>
      <option value="Cetvrta prostorija">Cetvrta prostorija</option>
      </select>
      </label>
  </strong></em></p>
  <p><em><strong>Kolona:<label>
      <select name="kolona"id="kolona">
        <option value="kolona"><?php echo $kolona; ?></option>
      <option value="Prva kolona">Prva kolona</option>
      <option value="Druga kolona">Druga kolona</option>
      <option value="Treca kolona">Treca kolona</option>
      <option value="Cetvrta kolona">Cetvrta kolona</option>
      </select>
      </label>
  </strong></em></p>
  <p>
<p><em><strong>Red:<label>
      <select name="red"id="red">
        <option value="red"><?php echo $red; ?></option>
      <option value="Prvi red">Prvi red</option>
      <option value="Drugi red">Drugi red</option>
      <option value="Treci red">Treci red</option>
      <option value="Cetvrti red">Cetvrti red</option>
      </select>
      <option value="Treci red">Peti red</option></select>
      <option value="Cetvrti red">Sesti red</option></select>
      </label>
  </strong></em></p>
  <input type="hidden"name="id"value="<?php $_GET['id']; ?>"/>
    <input type="submit" name="submit" type="promeni"/>
</form>
<?php
$pozicija="$red, $kolona";
if(isset($_POST['submit'])){
    $unos = "UPDATE knjige SET nazivdela='$_POST[nazivdela]',prezimeautora='$_POST[prezimeautora] , imeautora='$_POST[imeautora], izdavac='$_POST[izdavac], ISBNbroj='$_POST[ISBNbroj], godinaizdavanja='$_POST[godinaizdavanja], mestoizdavanja='$_POST[mestoizdavanja], oblast='$_POST[oblast], podoblast='$_POST[podoblast], pozicija='$_POST[pozicija], prostorija='$_POST[prostorija], kolona='$_POST[kolona], red='$_POST[red] WHERE ID = $_POST[id]";
mysql_query('$unos') or die(mysql_error());
echo "Promenjeni su podaci knjige!";

header("Location: pokusaj.php");
}
?>
    <br />
  <br />
  </div>
</div>
</body>
</html>
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 07:35 - pre 156 meseci
Koristio sam
Code:
 echo "<pre>";
print_r($_POST);
echo "<pre>";

ali opet ne radi... Ne ispisuje mi nikakvu grešku, a opet neće da radi kako treba... Ajde ljudi pomozite, hitno je!
Evo koda koji bi trebalo da fukcioniše:

Code:
<?php 
include ("connect_to_mysql.php");
$listaknjiga="";
$nazivdela = "";
             $prezimeautora = "";
             $imeautora = "";
             $ISBNbroj = "";
             $oblast = "";
             $podoblast = "";
             $prostorija = "";
             $pozicija = "";
             $godinaizdavanja = "";
             $mestoizdavanja = "";
             $kolona = "";
             $red = "";
             $izdavac="";
             $godinaizdavanja="";
             $targetID="";
            
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php 

if (isset($_POST['nazivknjige'])) {
    
    $id = mysql_real_escape_string($_POST['thisID']);
    $nazivdela= mysql_real_escape_string($_POST['nazivdela']);
    $prezimeautora = mysql_real_escape_string($_POST['prezimeautora']);
    $imeautora= mysql_real_escape_string($_POST['imeautora']);
    $ISBNbroj = mysql_real_escape_string($_POST['ISBNbroj']);
    $izdavac = mysql_real_escape_string($_POST['izdavac']);
    $oblast = mysql_real_escape_string($_POST['oblast']);
    $podoblast = mysql_real_escape_string($_POST['podoblast']);
    $prostorija = mysql_real_escape_string($_POST['prostorija']);
    $pozicija = mysql_real_escape_string($_POST['pozicija']);
    $godinaizdavanja = mysql_real_escape_string($_POST['godinaizdavanja']);
    $red = mysql_real_escape_string($_POST['red']);
    $kolona = mysql_real_escape_string($_POST['kolona']);
    $mestoizdavanja = mysql_real_escape_string($_POST['mestoizdavanja']);
    $pozicija="$kolona, $red";
    
    $sql = mysql_query("UPDATE products SET nazivdela='$nazivdela', prezimeautora='$prezimeautora', imeautora='$imeautora', ISBNbroj='$ISBNbroj', izdavac='$izdavac', godinaizdavanja='$godinaizdavanja', mestoizdavanja='$mestoizdavanja', oblast='$oblast',podoblast='$podoblast', prostorija='$prostorija',red='$red', kolona='$kolona', pozicija='$pozicija' WHERE id='$id'");
    if ($_FILES['fileField']['tmp_name'] != "") {
        // Place image in the folder 
        $newname = "$pid.jpg";
        move_uploaded_file($_FILES['fileField']['tmp_name'], "../inventory_images/$newname");
    }
    header("location: pokusaj.php"); 
    exit();
}
?>
<?php 

if (isset($_GET['pid'])) {
    $targetID = $_GET['pid'];
    $sql = mysql_query("SELECT * FROM knjige WHERE id='$targetID' LIMIT 1");
    $productCount = mysql_num_rows($sql); // count the output amount
    if ($productCount > 0) {
        while($row = mysql_fetch_array($sql)){ 
             
             $nazivdela = $row['nazivdela'];
             $prezimeautora = $row['prezimeautora'];
             $imeautora = $row['imeautora'];
             $ISBNbroj = $row["ISBNbroj"];
             $oblast = $row["oblast"];
             $izdavac = $row["izdavac"];
             $podoblast = $row["podoblast"];
             $prostorija = $row["prostorija"];
             $pozicija = $row["pozicija"];
             $godinaizdavanja = $row["godinaizdavanja"];
             $mestoizdavanja = $row["mestoizdavanja"];
             $kolona = $row["kolona"];
             $red = $row["red"];
        }
    } else {
        echo "Ne postoji knjiga sa ovim nazivom.";
        exit();}
}
?>

<html>
<head>
<title>Lista knjiga</title>
<link rel="stylesheet" href="../style/style.css" type="text/css" media="screen" />
</head>

<body>
<div align="center" id="mainWrapper">
  <?php include_once("../baner.php");?>
  <div id="pageContent"><br />
    <div align="right" style="margin-right:32px;"><a href="pokusaj.php#inventoryForm">+ Dodaj novu knjigu</a></div>
<div align="left" style="margin-left:24px;">
      <h2>Lista knjiga</h2>
      <?php echo $listaknjiga; ?>
    </div>
    <hr />
    <a name="listaknjiga" id="listaknjiga"></a>
    <h3>
    &darr; Promena podataka: &darr;
    </h3>
    <form action="pokusaj_edit.php" enctype="multipart/form-data" name="myForm" id="myform" method="post">
    <table width="90%" border="0" cellspacing="0" cellpadding="6">
      <tr>
        <td width="20%" align="right">Naziv dela:</td>
        <td width="80%"><label>
          <input name="nazivdela" type="text" id="nazivdela" size="64" value="<?php echo $nazivdela; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Prezime autora:</td>
        <td width="80%"><label>
          <input name="prezimeautora" type="text" id="prezimeautora" size="64" value="<?php echo $prezimeautora; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Ime autora:</td>
        <td width="80%"><label>
          <input name="imeautora" type="text" id="imeautora" size="64" value="<?php echo $imeautora; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Izdavac:</td>
        <td width="80%"><label>
          <input name="izdavac" type="text" id="izdavac" size="64" value="<?php echo $izdavac; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">ISBN broj:</td>
        <td width="80%"><label>
          <input name="ISBNbroj" type="text" id="ISBNbroj" size="64" value="<?php echo $ISBNbroj; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Oblast</td>
        <td width="80%"><label>
          <input name="oblast" type="text" id="oblast" size="64" value="<?php echo $oblast; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Podoblast:</td>
        <td width="80%"><label>
          <input name="podoblast" type="text" id="podoblast" size="64" value="<?php echo $podoblast; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Godina izdavanja</td>
        <td width="80%"><label>
          <input name="godinaizdavanja" type="text" id="godinaizdavanja" size="64" value="<?php echo $godinaizdavanja; ?>" />
        </label></td>
      </tr>
      <tr>
        <td width="20%" align="right">Mesto izdavanja:</td>
        <td width="80%"><label>
          <input name="mestoizdavanja" type="text" id="mestoizdavanja" size="64" value="<?php echo $mestoizdavanja; ?>" />
        </label></td>
      </tr>
      <tr>
        <td align="right">Prostorija:</td>
        <td><select name="prostorija" id="prostorija">
          <option value="<?php echo $prostorija; ?>"><?php echo $prostorija; ?></option>
          <option value="Prva soba">Prva soba</option>
          <option value="Druga soba">Druga soba</option>
          <option value="Treca soba">Treca soba</option>
          </select></td>
      </tr>
      <tr>
        <td align="right">Kolona:</td>
        <td><select name="kolona" id="kolona">
          <option value="<?php echo $kolona; ?>"><?php echo $kolona; ?></option>
          <option value="Prva kolona">Prva kolona</option>
          <option value="Druga kolona">Druga kolona</option>
          <option value="Treca kolona">Treca kolona</option>
          <option value="Cetvrta kolona">Cetvrta kolona</option>
          </select></td>
      </tr>
      <tr>
        <td align="right">Red:</td>
        <td><select name="red" id="red">
          <option value="<?php echo $red; ?>"><?php echo $red; ?></option>
          <option value="Prvi red">Prvi red</option>
          <option value="Drugi red">Drugi red</option>
          <option value="Treci red">Treci red</option>
          <option value="Cetvrti red">Cetvrti red</option>
          </select></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><label>
          <input name="thisID" type="hidden" value="<?php echo $targetID; ?>" />
          <input type="submit" name="button" id="button" value="Izvrsi promene" />
        </label></td>
      </tr>
    </table>
    </form>
    <br />
  <br />
</body>
</html>
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 09:54 - pre 156 meseci
Rešen problem sa edit, sad imam problem sa pretraživačem:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Rezultat pretrazivanja</title>
</head>

<body>

<h2>Pretrazivac</h2>
<form action="./pretrazivac.php"metod="get">
<input type="text" name="k" size="50"value="<?php echo $_GET['k'] ?>"/>
<input type="submit" value="Search" />
</form>
<hr/>
<?php 

$k = $_GET['k'];
$tearms="";
$terms = explode(" ", $k);
$query = "SELECT * FROM knjige WHERE ";
foreach ($tearms as $each){
$i++;
if($i == 1)
$query .= "nazivdela LIKE '%$each%' ";
else
$query .= "OR nazivdela LIKE '%$each%' ";

}
include "connect_to_mysql.php";

$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if($numrows > 0){
    while($row = mysql_fetch_assoc($query)){
         $id = $row["id"];
             $nazivdela = $row['nazivdela'];
             $prezimeautora = $row['prezimeautora'];
             $imeautora = $row['imeautora'];
             $ISBNbroj = $row["ISBNbroj"];
             $izdavac = $row["izdavac"];
             $oblast = $row["oblast"];
             $podoblast = $row["podoblast"];
             $prostorija = $row["prostorija"];
             $pozicija = $row["pozicija"];
             $godinaizdavanja = $row["godinaizdavanja"];
             $mestoizdavanja = $row["mestoizdavanja"];
             $kolona = $row["kolona"];
             $red = $row["red"];
             }

}
else{
echo "Nije pronadjena!";}
mysql_close();


?>
</body>
</html>

Prijavljuje sledeće greške:

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Rad\Pokusaj\pretrazivac.php on line 22

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Rad\Pokusaj\pretrazivac.php on line 33
 
Odgovor na temu

batika

Član broj: 72401
Poruke: 67
89.216.68.*



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 12:45 - pre 156 meseci
Deo sa

Code:


foreach ($tearms as $each){
$i++;
if($i == 1)
$query .= "nazivdela LIKE '%$each%' ";
else
$query .= "OR nazivdela LIKE '%$each%' ";

}


ti nije u redu

Znaci niz $tearms je prazan.
Zato ti izbacuje gresku Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Rad\Pokusaj\pretrazivac.php on line 22

Taj niz je prazan zato sto si pogresio slovo.

A drugu gresku ti izbacuje zato sto ti sql query nije u redu.

Ali sad moras malo da pazis.
Kada popravis niz (popravis to jedno slovo) sve ce ti proraditi, medjutim, sta ako taj niz bude prazan namerno, opet ce izbacivati gresku.
Moras staviti neka ogranicenja i sigurnosne stvari.
Ne mozes query tako graditi.
Ti ga napravis do WHERE i onda dalje lepis na njega trceci kroz niz.
Kad je niz prazan, query ti se zavrsava sa WHERE, sto nije validano.

pozdrav
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 13:05 - pre 156 meseci
Da, ispravio sam to slovo i sad radi i ne izbacuje grešku. Samo što meni treba da pretražuje celu bazu ne samo da traži nazivdela! Znači kad se upiše bilo koji string u polje za pretraživanje, izbaci sve informacije u vezi knjige (knjiga) koje sadrže taj niz slova (reči)... Isto tako sad sačuva i rezultat prethodnog pretraživanja i onda ispadne kao da je i prethodni rezultat deo trenutnog pretraživanja i tako nastaje greška. Pretpostavljam da si na to mislio! Ali ja nemam pojma kako da promenim bilo koji od ova dva problema...
 
Odgovor na temu

batika

Član broj: 72401
Poruke: 67
89.216.68.*



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 13:30 - pre 156 meseci
Pa sad bas da sam te razumeo i nisam.

Evo prvo nekih hintova:
- nemoj da koristis $_GET nego $_POST - sigurnije je
- obavezno uradi trim($_POST['nesto']);

E sad, ovo sto si napisao da treba da ti pretrazuje celu bazu a ne samo nazivdela.
Da li si pod tim mislio da treba da trazi po svim poljima iz tabele knjige?

Ako si to mislio onda radis ovako:

Code:

$query = "SELECT * FROM knjige";

if (count($tearms)>0) {
    $query .= 'WHERE ';

    foreach ($tearms as $each){
        $i++;
        if($i == 1)
           $query .= "nazivdela LIKE '%$each%'  OR polje2 LIKE '%$each%' OR polje3 LIKE '%$each%' ";  // i tako za svako polje
        else
           $query .= "OR nazivdela LIKE '%$each%'  OR polje2 LIKE '%$each%' OR polje3 LIKE '%$each%' ";
    }
}


Ovaj deo sa pamcenjem nisam razumeo sta si hteo da kazes, jer nema sanse da ti cuva nadjene rezultate.
Mozda mislis na to sto u polju pise ono sto si kucao? To ti pise zato sto si stavio
Code:

<input type="text" name="k" size="50"value="<?php echo $_GET['k'] ?>"/>  


to value="<?php echo $_GET['k']; ?>" ti ispisuje u polju ono sto si trazio

A na koji sam ja propust mislio u proslom postu je taj da ukoliko nista ne ukucas u polje i kliknes na dugme trazi, opet ce ti izbaciti greske. Probaj pa ces videti.

 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 13:59 - pre 156 meseci
1. Za svako koriscenje $_POST, $_GET, $_SESSION, $_COOKIE i ostalih predefinisanih varijabli koristi isset proveru.
Sve ove varijable su prakticno neki asocijativni array tj svaka varijabla ima elemente sa svojim key-om i ako koristis neki key koji ne postoji dobices NOTICE.
2. Kada ispisujes neku varijablu u html obavezno koristi naredbu kao htmlspecialchars kako bi sprecio bugove u html kodu i moguce kradje kukuja.
3. Ako je nesto string onda uradi trim i proveri max i min duzinu, pozeljno ali nije obavezno.
4. Ako je nesto integer onda obavezno odradi intval
5. Pre upisa u bazu obavezno koristi mysql_real_escape_string
6. Ne znam u kojim slucajevima je sigurnije koriscenje POST umesto GET.

Prednosti post-a su to sto se ne prenosi preko url vec header-a a duzina url je ogranicena na oko 2000 karaktera.
GET ne moze da prenosi fajlove i lakse se menja sadrzaj mimo forme.
Kazem lakse jer to ne znaci da preko POST-a nije moguce menjati varijable i njihove sadrzaje.

[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 14:25 - pre 156 meseci
Trenutno kod ovako izgleda:
Code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Rezultat pretrazivanja</title>
</head>
<div align="right" style="margin-right:32px;"><a href="pokusaj.php#listaknjiga">+ Dodaj novu knjigu</a></div>
<body>

<h2>Unesite ime knjige:</h2>
<form action="./pretrazivac.php"metod="get">
<input type="text" name="k" size="50"value="<?php echo $_POST['k'] ?>"/>
<input type="submit" value="Search" />
</form>
<hr/>
<?php 
error_reporting(E_ALL);
ini_set('display_errors', '1');

$k = $_GET['k'];
$tearms="";
$tearms = explode(" ", $k);
$query = "SELECT * FROM knjige";
$i="";
if (count($tearms)>0) {
   $query .= 'WHERE ';

   foreach ($tearms as $each){
       $i++;
       if($i == 1)
          $query .= "nazivdela LIKE '%$each%'  OR prezimeautora LIKE '%$each%' OR imeautora LIKE '%$each%'  OR ISBNbroj LIKE '%$each%' OR izdavac LIKE '%$each%' OR godinaizdavanja LIKE '%$each%' OR mestoizdavanja '%$each%' OR oblast LIKE '%$each%' OR podoblast LIKE '%$each%' OR pozicija LIKE '%$each%' OR prostorija LIKE '%$each%' OR kolona LIKE '%$each%' OR red LIKE '%$each%'";  // i tako za svako polje
       else
          $query .= "OR nazivdela LIKE '%$each%'  OR prezimeautora LIKE '%$each%' OR imeautora LIKE '%$each%'  OR ISBNbroj LIKE '%$each%' OR izdavac LIKE '%$each%' OR godinaizdavanja LIKE '%$each%' OR mestoizdavanja '%$each%' OR oblast LIKE '%$each%' OR podoblast LIKE '%$each%' OR pozicija LIKE '%$each%' OR prostorija LIKE '%$each%' OR kolona LIKE '%$each%' OR red LIKE '%$each%'";
   }
}


include ("connect_to_mysql.php");
$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if($numrows > 0){
    while($row = mysql_fetch_array($query)){
         $id = $row["id"];
             $nazivdela = $row['nazivdela'];
             $prezimeautora = $row['prezimeautora'];
             $imeautora = $row['imeautora'];
             $ISBNbroj = $row["ISBNbroj"];
             $izdavac = $row["izdavac"];
             $oblast = $row["oblast"];
             $podoblast = $row["podoblast"];
             $prostorija = $row["prostorija"];
             $pozicija = $row["pozicija"];
             $godinaizdavanja = $row["godinaizdavanja"];
             $mestoizdavanja = $row["mestoizdavanja"];
             $kolona = $row["kolona"];
             $red = $row["red"];
             echo "<h2>$nazivdela</h2>
             -$prezimeautora<br/><br/>-$imeautora
             <br/><br/>-$prezimeautora<br/><br/>-$izdavac<br/><br/>-$oblast<br/><br/>-$ISBNbroj<br/><br/>-$podoblast<br/><br/>-$pozicija<br/><br/>-$godinaizdavanja<br/><br/>-$mestoizdavanja";
             }

}
else{
echo "Nije pronadjena!";}
mysql_close();


?>
</body>
</html>


i prijavljuje sledeću grešku:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Rad\Pokusaj\pretrazivac.php on line 40.

@phpandjelko:
Da, milsio sam da pretražuje svako polje u tabeli. Ali kad ubacim ovaj kod ispisuje mi ovu grešku iznad. Inače, kada je prazno polje ne prijavljuje grešku, ali zato pokazuje i prethodni rezultat pretrage. I meni je nelogično, ali tako izbacuje. Znam da ostaje zbog echo u polje za pretragu upisana reč, to sam i hteo da postignem.

@VladaSu:
Hvala na objašnjenju. Shvatam suštinu.


 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 15:07 - pre 156 meseci
Zaboravio si da dodaš LIKE u upitu za:
Code:
... OR mestoizdavanja '%$each%'  ...


Korisiti:
http://php.net/mysql_error
Banned - Not available
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 15:31 - pre 156 meseci
Ispravio sam, ali i dalje mi stoji greška. Pogledaću, hvala!
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 15:42 - pre 156 meseci
Ups zaboravio bio za ovo da napišem,
Umesto
Code (php):
query .= 'WHERE ';

stavi
Code (php):
query .= ' WHERE ';

Banned - Not available
 
Odgovor na temu

IvRa
Student

Član broj: 278137
Poruke: 18
*.adsl-a-1.sezampro.rs.



Profil

icon Re: Kako otkloniti grešku?24.06.2011. u 15:55 - pre 156 meseci
Stavio razmak i dalje ništa... Ne znam više šta da menjam...
 
Odgovor na temu

[es] :: PHP :: Kako otkloniti grešku?

Strane: 1 2

[ Pregleda: 3293 | Odgovora: 21 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.