Egyszerűbb fórum készítésénél fellépett cikluson belüli session probléma.
Van egy egyszerűbb fórumom amit készítettem.
Ez témákból és az azon belül létrejövő hozzászólásokból áll. Tehát nincsen egyéb módon csoportosítva csak amolyan a téma a kérdés és a hozzászólás a hozzá tartozó válaszok. A fórum témáit (a kérdéseket) egy topik nevű táblában tárolom. Itt van néhány adat (id, a kérdés címe, a hozzá tartozó megjegyzés rovat stb...) , a hozzászólások pedig a fórum táblámban (id, hozzászóló felhasználó neve, tid= az az id amelyik topikhoz tartozik, stb...).
Mivel közel sem vagyok profi így megpróbáltam valahogyan összerakni azzal az ismerettel amit a neten szereztem. Két sessiont hoztam létre amely közül az egyik a topik id-t tárolja bizonyos kapcsolódási pontokon, egy másik pedig a felhasználó id-jét. Ezekre hivatkozok többször.
Jelenleg töklletesen működne CSAK mégse. Vagyis megjelenik a kérdések listázva az adatbázisomból úgy ahogyan én szeretném. A megnyitás gombbal pedig megnyitom a hozzászólást ahová szépen úgy tudok hozzászólni amennyiben bejelentkezek, ahogyan én szeretnék. A hiba az, hogy bármelyik kérdés megnyitására is kattintok ugyan úgy az utolsó kilistázandót nyitja meg és csak ahoz tudok hozzászólni. Rájöttem, hogy az a hiba, hogy a cikluson belül ha a megnyitás gombra kattintok akkor nem csak az aktuális kérdéshez vezeti le hogy session[tid] egyenlő legyen az aktuális topik id-vel, hanem az összessel sorban így nyilván valóan mindig az utolsó megjegyzett lesz az aktuális. Mivel fordított sorrendben iratom ki, hogy mindig a legfrissebbet láthassam így ez mindig az első hozzászólás lesz. Kicseréltem, átcserélte, összecseréltem, így-úgy kiírattam, úgy írattam, átírattam... Nem megy.
Tudna valaki segíteni nekem erre a problémára?Bizonyára nem a legszebb kivitelezés, de ennyire telik tőlem.
■ Ez témákból és az azon belül létrejövő hozzászólásokból áll. Tehát nincsen egyéb módon csoportosítva csak amolyan a téma a kérdés és a hozzászólás a hozzá tartozó válaszok. A fórum témáit (a kérdéseket) egy topik nevű táblában tárolom. Itt van néhány adat (id, a kérdés címe, a hozzá tartozó megjegyzés rovat stb...) , a hozzászólások pedig a fórum táblámban (id, hozzászóló felhasználó neve, tid= az az id amelyik topikhoz tartozik, stb...).
Mivel közel sem vagyok profi így megpróbáltam valahogyan összerakni azzal az ismerettel amit a neten szereztem. Két sessiont hoztam létre amely közül az egyik a topik id-t tárolja bizonyos kapcsolódási pontokon, egy másik pedig a felhasználó id-jét. Ezekre hivatkozok többször.
Jelenleg töklletesen működne CSAK mégse. Vagyis megjelenik a kérdések listázva az adatbázisomból úgy ahogyan én szeretném. A megnyitás gombbal pedig megnyitom a hozzászólást ahová szépen úgy tudok hozzászólni amennyiben bejelentkezek, ahogyan én szeretnék. A hiba az, hogy bármelyik kérdés megnyitására is kattintok ugyan úgy az utolsó kilistázandót nyitja meg és csak ahoz tudok hozzászólni. Rájöttem, hogy az a hiba, hogy a cikluson belül ha a megnyitás gombra kattintok akkor nem csak az aktuális kérdéshez vezeti le hogy session[tid] egyenlő legyen az aktuális topik id-vel, hanem az összessel sorban így nyilván valóan mindig az utolsó megjegyzett lesz az aktuális. Mivel fordított sorrendben iratom ki, hogy mindig a legfrissebbet láthassam így ez mindig az első hozzászólás lesz. Kicseréltem, átcserélte, összecseréltem, így-úgy kiírattam, úgy írattam, átírattam... Nem megy.
Tudna valaki segíteni nekem erre a problémára?
<?php
session_start();
include 'connect.php';
header("Content-Type: text/html; charset=utf-8");
$ker= mysql_query("SELECT * FROM `topik` WHERE `delete` = '0' ORDER BY `id` DESC");
while($top = mysql_fetch_array($ker))
{
echo '<p>Topik:</p><br/><div id="topik" sytle="backgorund-image:url(/img/fust.png)">'.$top['name'
].''.$top['id'].' <br/>'.$top['text'].' '.$top['date'].'</div>';
echo '<form method="POST"><input border="0" src="img/megnyit.png" name="megnyit" width="70px" height="30px" type="image"></form>';
echo $top['id'];
if(isset($_POST['megnyit_x'])){
$_SESSION['tid']=$top['id'];
echo'<meta http-equiv="refresh" content="0; url=for.php"">';}
};
?>
session?
Ez okozza a problémát, ugyanis ez pontosan minden téma esetén beállítja a munkamenet változót a téma azonosítójára. Azaz ha 10 elemen megy végig, akkor pont 10-szer állítja be, ha be van állítva a
megnyit_x
POST változó. Mondjuk azt nem igazán értem, hogy milyen célt szolgál ez a POST változó, és miért van beállítva a ciklusban minden egyes témára a munkamenet.