Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: hiperlacze i sesja
Forum PHP.pl > Forum > Przedszkole
bdp
Czy jest mozliwosc po kliknieciu na link by do sesji byla by zpisywana np. nazwa odnosnika?
Kuziu
  1. <?php
  2.  
  3. $_SESSION['odnosnik'] = 'moja nazwa';
  4.  
  5. ?>
johnson
Niepokoi mnie słowo: "na przykład", napisz co chcesz zrobić.
Nazwę odnośnika zapiszesz w sesji jeśli w pliku, do którego wejdziesz po kliknięciu umieścisz kod:
  1. <?php
  2. $url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
  3. if (!empty($_SERVER['QUERY_STRING'])) {
  4. $url .= '?'.$_SERVER['QUERY_STRING'];
  5. }
  6. $_SESSION['aktualnyurl'] = $url;
  7. ?>
Leezard
na poczatku strony ktora wywolales po kliknieciu mozesz sobie np zapisac $_SERVER['PHP_SELF'] do sesji, albo wrzucic to jeszcze w basename() i bedziesz mial nazwe biezacej strony
bdp
Jest np.

...<a href=blabla.php>srututu</a>...

I teraz chce by po kliknieciu na niego i otwarciu tej strony blabla.php wywalilo mi napis ze wlazlo sie z linku srututu. Glownie mi chodzi czy da sie do kazdego linku jakos dopisac by tworzylo sesje z tym tekstem srututu.
rogrog
nie, bo ten tekst strutututu nigdzie nie jest przekazywany do strony. Chyba że go jakoś przekażesz (np. przez URL)
johnson
Cytat(bdp @ 2005-02-21 20:06:57)
...<a href=blabla.php>srututu</a>...

Glownie mi chodzi czy da sie do kazdego linku jakos dopisac by tworzylo sesje z tym tekstem srututu.

I nie mogłeś tego napisać na początku?
Epopeje byśmy tu napisali, a nikt nie zorientował by się z Twojego pierwszego postu o co Ci chodzi tongue.gif
Guest
Cytat(johnson @ 2005-02-21 20:54:01)
I nie mogłeś tego napisać na początku?

No sorka smile.gif

To co wie ktos, moze na jakiejs stronie, bo ja nic nie moge znalesc sad.gif
johnson
Jedyna możliwość to zastosowanie dla linków takiego schematu:
  1. <?php $linkname = 'Miejsce 1'; ?>
  2. <a href=\"site.php?linkname=<?php echo(rawurlencode($linkname)); ?>\"><?php echo($linkname); ?></a>
  3.  
  4. <?php $linkname = 'Miejsce 2'; ?>
  5. <a href=\"site.php?linkname=<?php echo(rawurlencode($linkname)); ?>\"><?php echo($linkname); ?></a>


Wtedy po przejściu na stronę 'site.php' w zmienne $_GET['linkname'] masz informacje o tym na jaki link kliknięto. Sposób ten jest trochę uciążliwy jeśli masz dużo linków, ale prosty do zastosowania jeśli te linki generujesz w pętli (for, while) np. z bazy danych (np. lista kategorii itp.)

Jest jeszcze możliwość zaprzęgnięcia do tego JavaScriptu, który po kliknięciu tworzy odpowiednią formę linku, ale to musiałby się odezwać jakiś JSManiac winksmiley.jpg i powiedzieć nam w jakiej zmiennej JS jest przechowywane Twoje 'srututu', wiem, że this.href przechowuje 'blabla.php', ale nie wiem co przechowuje 'srututu'.
Guest
Hmm a mozesz pokazac jak by to wygladalo w pętli. Sorka ze jestem taki upierdliwy smile.gif
johnson
Napisz wogóle najlepiej po co Ci to i jaki efekt chcesz tym osiągnąć, może jest lepszy sposób na osiągnięcie Twojego celu.
Gość_bdp
ok

  1. <?php
  2.  
  3. ...
  4. while ($file = readdir($folder))
  5.  {
  6. echo &#092;"<tr>\";
  7. echo &#092;"<td><a href=xxx.php><img src=normal.gif></a></td><td>$file</td>\";
  8. echo &#092;"</tr>\";
  9.  }
  10. ....
  11.  
  12. ?>


i mam taki kodzik na liste plikow, chce by po kliknieciu na ktorys z tej listy otwieralo ta strone xxx i pokazywalo mi nazwe pliku na ktory kliknieto.
johnson
Będzie to tak:

  1. <?php
  2. while ($file = readdir($folder))
  3.  {
  4. echo &#092;"<tr>\";
  5. echo &#092;"<td><a href=xxx.php?filename=\".rawurlencode($file).\"><img src=normal.gif></a></td><td>$file</td>\";
  6. echo &#092;"</tr>\";
  7.  }
  8. ?>


a w kodzie strony 'xxx.php':
  1. <?php
  2. echo($_GET[filename]);
  3. ?>


that's all smile.gif
Guest
ok dziala thx.

Ale tak na przyszlosc jak bym chcial by 2 rozne wartosci byly przesylane, da sie tak zrobic?

  1. <?php
  2. <a href=xxx.php?filename=&#092;".rawurlencode($file).\"?name=\".rawurlencode($cos).\"> 
  3. ?>


Cos takiego m byc czy jakos inaczej. Z gory dzieki.
Guest
ok juz znalazlem jak to ma byc , jeszcze raz dzieki
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.