pijanyadmin
18.02.2008, 23:33:03
zakładając że link generowany jest tak:
<?php
<a href="view.php"><b>'.$wiersz['login'].' </b></a>
?>
w pliku view.php daje
<?php
$view = $_SESSION['login'];
$query = "SELECT * FROM userdata WHERE login = '$view'";
?>
tylko właśnie jak sprawić aby link był odczytywany przez sesje a ta była zapotaniem do bazy?
phpion
18.02.2008, 23:50:45
Musisz w adresie przekazać zmienną (view.php?id=4), którą następnie przypiszesz do sesji. Potem przekierowuejsz na stronę z zapytaniem i odczytujesz wartość z sesji. Całość wydaje się lekko bezsensowna

bo i tak w którymś momencie przekazujesz parametr get'em. Jeśli chcesz ukryć id to może traktuj link jako submit formularza wysyłanego post'em. Tyle tylko, że wtedy można podejrzeć źródło

.
pijanyadmin
18.02.2008, 23:56:58
ale po co mam przekazywać ją w adresie skoro chce ją umieścić w sesji?
phpion
18.02.2008, 23:59:09
Właśnie po to aby umieścić w sesji. Jak to widzisz inaczej?
<a href="view.php"><b>user
</b></a> <a href="view.php"><b>admin
</b></a> <a href="view.php"><b>hiper mega admin
</b></a>
Klikam np. na "admin" i co wędruje do sesji? Skąd skrypt wie w co kliknąłem?
pijanyadmin
19.02.2008, 00:01:26
a widzisz, mój bład, widzisz, link jest generowany tzm. są wyświetlane loginy z bazy i każdy login jest zamieniany na link, dlatego chce przestłać wartośc tego loginu w sersji...
phpion
19.02.2008, 00:05:38
Nie możesz normalnie get'em? To mi się wydaje logiczniejsze niż zabawa z sesją skoro i tak musisz najpierw zmienną przesłać jako get.
pijanyadmin
19.02.2008, 00:16:42
czyli może być tak?
Kod
$i++;
$_SESSION['wiersze'][$i]['id_login']=$wiersz['login'];
<a href="view&num='.$i.'">'.$wiersz['login'].'</a>
nowotny
19.02.2008, 01:59:41
Jak bardzo chcesz to może... ale jak już robisz tak to możesz od razu w linku podać id usera i potem pobierać z bazy na podstawie id a nie loginu...
Nie wiem po co mieszać w to sesje... chyba tylko po to żeby ukryć faktyczny id usera z bazy...
A dlaczego nie powinno się pobierać rekordów na podstawie loginu tylko id...? z wielu powodów... głównie po to żeby łatwiejsze było debugowanie... jeśli nie masz dobrze zrobionych sprawdzaczy loginu to user może podać jakieś dziwne znaki, inne kodowanie które potem przy porównaniu mogą ci wszystko spieprzyć, powodować dziwne błędy w kodzie... albo jeśli napisałeś dobre sprawdzacze możesz zapomnieć w którymś miejscu stripnąć slashe czy coś i znowu będziesz się głowił pół dnia gdzie jest błąd... A id to liczba... pobrana z bazy i przez bazę nadana... jest tzw. fool-proof... pole manewru do niezamierzonego spieprzenia czegoś bardzo się zawęża....
pijanyadmin
19.02.2008, 12:58:13
tak wiem, tylko zawsze mam problem z zamianą loginu na id
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.