citam sve ovo pa vidim male greske koje su mozda uzrok, mada mozda i gresim
prvo link pravis sa razmacim izmadju naziva promenljive i znaka = pa ti se javlja %20, mozda tebi izgleda lepse tako kad napises ali tako se ne pisenego sve sastavi zajedno
Code:
echo '<a href = "prikazikategorije.php?id = ' . $cat_id . '">Nazad</a>'; // ovaj ne radi
drugo vidim da ti link na lokalu ima // (
http://localhost/mojsajt//prikazivesti.php?cat_id=1&id=2)
trece u ovom kodu
Code:
echo '<a href = "' . $config_basedir . '/prikazivesti.php?cat_id=' . $id . '&id=' . $row['id'] . '">' . $row['naslov'] . '</a>'; // ovaj link radi
vidim da imas & mozda jeste po pravilima i prolazi taj kod html validator ali ne znaci da tvoj server prhvata takav konektor za promenljive, probaj da stavis samo &
koliko vidim tebi prikazivesti.php ne radi tako da je moguci uzrok ovaj problem sa & i &, jer ne dobija u opste vrednost id, i ovom fajlu ne treba da prosledjujes u opste cat_id nego ga stampaj iz vesti
inace greska koju ti izbacuje da je problem u liniji 10, je ustvari problem u upitu, jer nije nista vratio i verovatno da kad bi stavio ispis greske onda bi ti program stao odmah na mysql_query i ispisao gresku da je upit los, i odstampao bi ti nesto ovako 'SELECT * FROM vesti WHERE cat_id=' bez ikakve vrednosti
ovo je najcesci problem kod pocetnik jer traze gresku na mestu gde je nema jer je php prijavio tu, kad god ti se bude desilo ovako nesto znaj da je problem do upita i odstampaj ga, znaci jedno echo $sql; ce te spasiti muka jer ces videti kako ti se formira upit i lako ces moci da ga resis.
znaci kod bi napisao ovako
prikazikategorije.php
Code:
<?php
$id=(int)$_GET['id'];
$sql = "SELECT * FROM vesti WHERE cat_id=$id";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res))
{
echo '<a href = "' . $config_basedir . 'prikazivesti.php?id=' .$row['id'] . '">' . $row['naslov'] . '</a>';
}
?>
prikazivesti.php
Code:
<?php
$id = (int)$_GET['id'];
$sql = "SELECT * FROM vesti WHERE id=$id";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res))
{
echo '<h1 style="text-align:center;">' . $row['naslov'] . '</h1>';
echo '<p>' . $row['tekst'] . '</p>';
}
echo '<a href = "' . $config_basedir . 'prikazikategorije.php?id=' . $row['cat_id'] . '">Nazad</a>';
?>
pretpostavljam da ti je promenljiva negde definisana, $config_basedir='mojsajt/'; savet za ovo potrazi po netu kako se prave virtualhost-ovi pa konfigurisi apache tako da ne bi morao da pravis ove promenljive.
inace kad nece da radi odstampaj sve promenljive za koje sumnjas da ne dobijaju vrednosti, pa trazi uzrok zasto ne dobijaju vrednost.
nadam se da ce ti ovo resiti problem