Citanje iz baze, pomoc, problem

Citanje iz baze, pomoc, problem

offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Ovako: (Pokusacu da budem sto jasniji i da objasnim sto jednostavnije)

Imam tabelu u MySQL bazi, koja sadrzi :

id - Int
naslov - Varchar
sadrzaj - Text
I jos nesto, sad nebitno.

U php stranici definisao sam sledece :
Citat:mysql_connect("localhost","blabla","");
mysql_select_db("tabela");

$strana = $_GET['strana'];
if($strana){
include($strana);
}

$citaj = mysql_query("SELECT * FROM strane WHERE id = ".strana);

while($row = mysql_fetch_assoc($citaj))
{
$id = $row['id'];
$naslov = $row['naslov'];
$sadrzaj = $row['sadrzaj'];

echo $naslov." <br>".$sadrzaj."<br><hr>";

}


I na strani npr "nesto.php?strana=1", to radi i cita iz baze iz id-1.

Pitanje je zasto ovo ne radi :
Citat:
$citaj = mysql_query("SELECT * FROM strane WHERE naziv = ".strana);
?
I sta treba da uradim da bi ovo radilo ?

Mislim da nije veliki problem. Ako neko moze da mi pomogne.

Hvala unapred.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 15 Maj 2006
  • Poruke: 333
  • Gde živiš: Babušnica

$citaj = mysql_query("SELECT * FROM strane WHERE naziv = '$strana' ");

i odmah ispod upita stavi ovu liniju koda

$result = mysql_query($citaj) or die(mysql_error());

u slucaju greske izbacice ti informaciju gde je nastala


edit: moja greska...

mislio sam ovako:

$sql = "SELECT * FROM strane WHERE naziv = '$strana' "; $citaj = mysql_query($sql) or die(mysql_error());



offline
  • Niko E
  • Software & Information Engineering
  • Pridružio: 05 Maj 2009
  • Poruke: 135
  • Gde živiš: Wien

Hvala puno Very Happy
Sad mogu da zavrsim sajt. Smile

offline
  • Pridružio: 08 Jan 2010
  • Poruke: 101

inace, Nikola04, ovo:
$strana = $_GET['strana']; if($strana){ include($strana); } $citaj = mysql_query("SELECT * FROM strane WHERE id = ".strana);
je vrlo opasno.

moras paziti sta ukljucujes sa include() funkcijom, takodje moras paziti sta se sve ubacuje u mysql query da ne bi doslo do :

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Sta milos zelis da kaze jeste da je sajt veoma podlozan MySQL injekciji (boca Very Happy) i da svaki sadrzaj koji ulazi u sajt bi trebao da bude filtriran.

http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

offline
  • Pridružio: 08 Jan 2010
  • Poruke: 101

takodje gornji deo:
$strana = $_GET['strana']; if($strana){ include($strana); }

ranjiv na remote file inclusion gde je moguce ubaciti bilo koji php kod uglavnom se iskoriscava ubacivanjem php shell-a tako da u tvom primeru mozes proveriti da li je $strana broj jer kasnije koristis tu varijablu (broj) u mysql query-ju kao id

Ko je trenutno na forumu
 

Ukupno su 1364 korisnika na forumu :: 47 registrovanih, 5 sakrivenih i 1312 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, A.R.Chafee.Jr., aleksmajstor, amaterSRB, BlekMen, Brana01, Bubili, bufanje, Dimitrije Paunovic, Dimitrise93, draganca, dragoljub11987, Georgius, Griffon vulture, havoc995, Ilija Cvorovic, Istman, JOntra, Još malo pa deda, krkalon, ladro, Leonov, loon123, Lucije Kvint, Mcdado, mikrimaus, milanovic, milenko crazy north, MilosKop, milutin134, nemkea71, nick79, NoOneEver Dreams, ostoja, panonski mornar, Rakenica, Sir Budimir, Sirius, SlaKoj, suton, Tragač, vathra, Vlad000, VP6919, wolf1, yrraf, zzapNDjuric99