Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekazywanie zmiennych?!?, Inaczej niż na pasku adresu.
Bartech
post 11.03.2005, 16:27:34
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


Witam, proszę o pomoc, w jaki sposób przekazywać zmienne w inny sposób niż poprzez pasek adresowy (index.php?link=modules/news/news.php), chciałbym aby można było przekazywać zmienne za pomocą kliknięcia na link:

  1. <?php
  2. <a href=&#092;"index.php?liczba=1&nazwa=test&link=modules/news/news.php&id=1234\">link</a>
  3.  
  4. ?>

Ale zależy mi aby po kliknięciu na link na pasku adresu nie były widoczne zminne i ich wartości które przekazałem za pomocą tego adresu.

Reasumując:
Chcę klikając na link:
<a href="index.php">link</a>

mieć w nastepnym dokumencie dostęp do zmiennych:
$liczka = 1;
$nazwa = test;
$link = modules/news/news.php
$id=1234

jak zdefiniować te zmienne aby nie trzebabyło ich przenosić poprzez link tylko np sesje?


--------------------
www.szymaszkiewicz.com
Go to the top of the page
+Quote Post
hwao
post 11.03.2005, 16:31:37
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




$_COOKIE
$_SESSION
$_POST ;-)

  1. <?php ob_start(); // jak sie nie przemysli aplikacji to potrzebne
  2. $_SESSION['zmiena'] = 'lalal';
  3. $_SESSION['xul'] = 'xml';
  4.  
  5. set_cookie( 'klucz', 'value', time()+60 ); // bedzie 60 sekunda po zamknieciu przegladarki aktywne
  6.  
  7. //odbieranie cookiego
  8. $_COOKIE['klucz']; // wartosc: value
  9.  
  10. ?>


Mozna tez postem ale to sie nie oblaca ;-) (w tym przypadku)
Go to the top of the page
+Quote Post
Bartech
post 11.03.2005, 16:44:53
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


A co w przypadku gdy użytkownik ma wyłączone Cookie's wówczas nie uda się przekazać zmiennej. Pozatym jeżeli na ztronie mam nałużmy 50 linków i każdy z nich ma prowadzić do tej samej podstrony ale przelazywać inny np. $id który jest potrzebny do bazy MySQL to jak generować takie pary linków i zmiennych.

A jak z tym POSTEM?

Ten post edytował Bartech 11.03.2005, 16:45:31


--------------------
www.szymaszkiewicz.com
Go to the top of the page
+Quote Post
pc5
post 12.03.2005, 17:58:37
Post #4





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Cytat(Bartech @ 2005-03-11 15:44:53)
A co w przypadku gdy użytkownik ma wyłączone Cookie's wówczas nie uda się przekazać zmiennej. Pozatym jeżeli na ztronie mam nałużmy 50 linków i każdy z nich ma prowadzić do  tej samej podstrony ale przelazywać inny np. $id który jest potrzebny do bazy MySQL to jak generować takie pary linków i zmiennych.

Do każdego linka wystarczy dodać zmienne które chces zprzekazać. Jak się to robi? Ano tak że piszesz sobie np.

  1. <?php
  2. echo&#092;" <a href=strona_docelowa.php?zmienna_nr1=wartosc&zmienna_nr2=wartosc>To jest odnosnik</a>\";
  3. ?>



strona_docelowa.php


  1. <?php
  2. print(&#092;"Zmienne z poprzedniej strony : \".$_GET['zmienna_nr1'].\",\". $_GET['zmienna_nr2']);
  3. ?>


Taka metoda działa dobrze z zmiennymi, które są liczbami całkowitymi. Proponuję się zapoznać z funkcją urlencode() i podobnymi.
Go to the top of the page
+Quote Post
orson
post 12.03.2005, 21:37:17
Post #5





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

@pc5: Bartech'owi wlasnie nie o to chodzilo ... chce je przekazywac inaczej niz przez get ...

@Bartech: jest rozwiazanie ... zabawa z js ... robisz forma na stronie i ukryte pola, np: id, action itp ... kazdy link zmieniasz na <a href="#" onclick="ustaw(wartosc)";>link</a> i funkcjia w js ktora ustawia w formie wartosc i go submituje ... potem na 2 stronie masz wszystko ladnie w POST ...

pozdrawiam


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
Go to the top of the page
+Quote Post
pc5
post 13.03.2005, 20:38:53
Post #6





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Cytat(orson @ 2005-03-12 20:37:17)
witam ...

@pc5: Bartech'owi wlasnie nie o to chodzilo ... chce je przekazywac inaczej niz przez get ...


Tak to jest jak się siedzi którąś noc przy kompie....
BTW ciekawa metoda z ukrytymi polami. Ktoś ma jakieś inne pomysły? Sam jestem ciekaw jak można inaczej.
Go to the top of the page
+Quote Post
Bartech
post 14.03.2005, 14:45:43
Post #7





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


Miła konwersacja ale widzę że odpowiedzi brak. roziązanie z ukrytymi polami jest wykonalne w php również ale troszkę uciążliwe. Trzebaby tworzyć formularz dla każdego linka.

Wymyślilem w między czasie coś takiego:

Link wygląda tak:
  1. <?
  2. echo '<a href=index.php?run=2>Link>';
  3. ?>


Wówczas w pliku index.php są switche:
  1. <?php
  2.  
  3. switch($run)
  4. {
  5. case '1':
  6. $zminnna = 'test';
  7. $inna = 'test 2';
  8. break;
  9.  
  10. case '2':
  11. include(&#092;"modules/news/news.php\");
  12. break;
  13. }
  14.  
  15. ?>


Rozwiązanie to ma jednak zastosowani jedynie w jednym pliku i tylko poprzez includowanie. Ale dzięki temu nie mam ryzyka pokazywanie linka do incudeowanego pliku na linijce adresowej. Narazie spełnia to moje oczekiwania. a przy tym taki rozwiązanie wymusza na programiści maksymalną enkapsulację kodu, np poprzez tworzenie funkcji. W prszyszłości zapraszam na moją stronę www.bartech.com.pl bo jak skończę tego typu zadanie to napiszę pare słów w formie artykułu..

Ten post edytował Bartech 14.03.2005, 14:47:45


--------------------
www.szymaszkiewicz.com
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: 19.07.2025 - 01:25