proste pri prezerani spravy si moze user pozriet aj ine spravy co su v db aj pre niekoho ineho...no. stačí iba zmenit id v linku, problém je v tom že ako to zabezpečiť? pre registrácii ukladám do tabulky spravy a users po jednom zazname (teda sa zapíšu hodnoty do tych tabuliek jedna a jedna) a tabulky vypadaju nejak takto:
table users
id tinyint(3) auto_increment primary key
...
table spravy
id_spravy tinyint(3) auto_increment primary key
...
teda sa do tych dvoch id vlozi 1 a 1, a teraz zistujem ze koho je co tak ze ak je v databazi nejaka sprava s id prave prihlaseneho usera, tak mu ju priradi ($_SESSION['id_usera']) tak to docela funguje, len to robi ten problem co pisem. ono tieto spravy generuju odkazy na samotne stranky kde bude samotna sprava zobrazena, cosi ako tu v phpbb. cize pr. msg.php?id=1, lenze! ked da msg.php?id=2 tak uz ma inu, ineho usera.
napadlo ma vytvorit stlpcek user_id v tabulke spravy, a zapisovat tam aktualne id usera...no moje veskere pokusy pre zapis zlyhali...skusal som mysql_num_rows, count(id) na zistenie prave vlozeneho id no nic sa tam furt nevlozilo, a tak. overujem to v msg.php takto:
Kód: Vybrať všetko
$over = mysql_query("Select * from spravy where id_spravy='".$_SESSION['id']."'");
if($over < 1){
echo "<h1>FAIL:</h1><b>FATAL ERROR: Vaše údaje z údajmi prehliadanej správy nesúhlasia!</b>";
}
else
{
$vytiahni = mysql_query("Select * from spravy where id_spravy='".$_GET['id']."'");
if($vytiahni < 1){
echo "<h1>FAIL:</h1><b>FATAL ERROR: Vaše údaje z údajmi prehliadanej správy nesúhlasia!</b>";
}
else
{
while($row = mysql_fetch_array($vytiahni)){
echo "Odosielatel: ".$row['prijate_autor']."<br>";
echo "Prijemca: ".$_SESSION['nick']."<br>";
echo "Predmet: ".$row['prijate_predmet']."<br><br>";
echo $row['prijate_text']."<br><br>";
echo "Odoslané: ".$row['prijate_cas']."<br><br>";
echo "<a href='index.php'>Späť na prehlad správ</a>";
}
}
}