ugrás a tartalomhoz

Csak a saját üzeneteket lehessen elolvasni

Anonymous · 2006. Aug. 9. (Sze), 11.53
Van egy PHP lap.
A lapon megjelenik az osszes privat uzenet amit a felhasznalo kap. Egy Yahoo vagy Gmail imboxhoz hasonlo lap.

From    |     Subject     
========================
admin         hello       
andras        uzenet      
A mysql tabla amelyben ezek tarolva vannak:

id  |  from  |   uid   |   message  |
1   | admin  |    3    |   hello... | 
2   | andras |    3    |   egy uz.. |
id = az uzenett szama. uid a felhasznalo szama amelynek kuldve lett az uzenet.

Jelenleg en vagyok a 3-as szamu felhasznlo, ezert erkezett kett uzenett.

Visszaterek a PHP lapra. Szeretnem elolvasni azt az uzenet amit "admin"-tol kaptam. Rakatintok az "admin nevre" es a kov linkre kuldom a browszert.

"http://mydomain.com/readmsg.php?do=showpm&message=1"

A kovetkzo if-el elenorzom ezt:

if ($_REQUEST['do'] == 'showpm') {
print "ok";
}
A gond az, hogy barmilyen felhasznalo aki azonositja magat a login.php lapon keresztul es beadja a kovetkezo linket:

"http://mydomain.com/readmsg.php?do=showpm&message=1" elolvashatja azt az uzenettet amely csak nekem volt kuldve.

Meg lehet ezt a problemat oldani ? Varok barmilyen segitseget. Kezdo vagyok.

Koszonom !
 
1

ID

ballor · 2006. Aug. 9. (Sze), 11.57
Ha van a userhez tartozó ID, akkor csak azokat kell kirakni amit ő láthat, ha már bejelentkezett, akkor ez megoldható (gondolom sessionokkal operálsz), berakod egybe a userID-t és utána megnézed, hogy aki lekéri, az a sajátját kéri-e le
2

ok

Anonymous · 2006. Aug. 9. (Sze), 12.13
ok most lekerem az osszes uzenetett amely peldaul a 3-as felhasznalonak erkezik. A 3 az session erteke most:

$data = mysql_query("SELECT * FROM messages WHERE uid='".$_SESSION['uid']."'");
Most csak az o uzenetei jelennek meg , de hogyan tudom a kovetkezot atalakitani:

if ($_REQUEST['do'] == 'showpm') {
}
Hogy elenorize, hogy az uzenett id-je es a felhasznalonak kult id egyezik.
3

segitseg

Anonymous · 2006. Aug. 9. (Sze), 13.10
tudna valaki segiteni ? eppen sietek es nagy szuksegem lene barmilyen tanacsra
4

ellenőrzés

Marcell · 2006. Aug. 9. (Sze), 17.40
Adott ugye a 3. oszlopban, hogy hányas számú felhasználónak küldték a levelet (=uid), ezt lekéred az adott levélnél és ez lesz a $kinek. Aztán van egy felhasználónk, akinek adott valami session információja. Ez alapján kikeresed, melyik uid tartozik hozzá a felhasználók táblájában, ez lesz a $kikeri. Ezek után már csak össze kell hasonlítanod a kettőt.

if ($_REQUEST['do'] == 'showpm') {

   if ($kinek === $kikeri) {
      print 'Jejeje, ez neked szól.';
   }
   else {
      print 'Ajjaj, ez nem a tiéd.';
   }

}