Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] link jako odwolanie do bazy przez sesje
pijanyadmin
post 18.02.2008, 23:33:03
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 24.10.2007

Ostrzeżenie: (0%)
-----


zakładając że link generowany jest tak:

  1. <?php
  2. <a href="view.php"><b>'.$wiersz['login'].' </b></a>
  3. ?>


w pliku view.php daje

  1. <?php
  2. $view = $_SESSION['login'];
  3.  
  4. $query = "SELECT * FROM userdata WHERE login = '$view'";
  5. ?>


tylko właśnie jak sprawić aby link był odczytywany przez sesje a ta była zapotaniem do bazy?
Go to the top of the page
+Quote Post
phpion
post 18.02.2008, 23:50:45
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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 smile.gif 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 smile.gif.
Go to the top of the page
+Quote Post
pijanyadmin
post 18.02.2008, 23:56:58
Post #3





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 24.10.2007

Ostrzeżenie: (0%)
-----


ale po co mam przekazywać ją w adresie skoro chce ją umieścić w sesji?
Go to the top of the page
+Quote Post
phpion
post 18.02.2008, 23:59:09
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Właśnie po to aby umieścić w sesji. Jak to widzisz inaczej?
  1. <a href="view.php"><b>user</b></a>
  2. <a href="view.php"><b>admin</b></a>
  3. <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?
Go to the top of the page
+Quote Post
pijanyadmin
post 19.02.2008, 00:01:26
Post #5





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 24.10.2007

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
phpion
post 19.02.2008, 00:05:38
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post
pijanyadmin
post 19.02.2008, 00:16:42
Post #7





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 24.10.2007

Ostrzeżenie: (0%)
-----


czyli może być tak?

Kod
$i++;
$_SESSION['wiersze'][$i]['id_login']=$wiersz['login'];


<a href="view&num='.$i.'">'.$wiersz['login'].'</a>
Go to the top of the page
+Quote Post
nowotny
post 19.02.2008, 01:59:41
Post #8





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

Ostrzeżenie: (0%)
-----


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....

Ten post edytował nowotny 19.02.2008, 02:15:22
Go to the top of the page
+Quote Post
pijanyadmin
post 19.02.2008, 12:58:13
Post #9





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 24.10.2007

Ostrzeżenie: (0%)
-----


tak wiem, tylko zawsze mam problem z zamianą loginu na id
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 14:29