Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekazywanie zmiennej, przenoszenie zmiennej między wieloma plikami
Demerzel
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 14.08.2007

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


Witam,
W skrócie mam następująca sytuację:
1. W pliku A.php generowana jest nazwa pliku jako md5. Plik ten wykorzystuje smarty wyświetlajac stronę A.html przez SMARTY->display()
2. Skrypt Javy na stronie A.html powoduje uruchomienie generatora md5 zapisanie pliku pod nazwą i przejście do B.php który również ma swój odpowiednik B.html
Problem polega na tym, że zmienną zawierającą sumę md5 musze odczytać i wykorzystać w kolejnym pliku C.php. Wiem ładny łańcuszek. Próbowałem ja przekazywać razem z innymi zmiennymi przy pomocy SMARTY->{assign()}. Jednak nijak nie udało mi się jej wyciągnąć.
Jedyny pomysł to utworzenie zmiennej globalnej zaraz po wygenerowaniu wartości md5. Wiem, że nie jest to ładne rozwiązanie ale jeżeli niema innego pomysłu proszę o wsparcie w jego wykonaniu.
PLIK A
  1. global $zmienna=$mdsum

PLIK C
  1. echo $zmienna
  2. unset $zmienna

Powyższe nie zadziałało. Jak zrobić to poprawnie? Jak zrobić to lepiej?
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


A od czego są sesje? :]
Go to the top of the page
+Quote Post
Demerzel
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 14.08.2007

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


Fakt nawet nie spróbowałem. Co nie zmienia faktu, że takie ogólniki to se możesz......
Plik A
  1. $document['contenttype'],
  2. $document['md5sum'],
  3. $document['description']
  4. ));
  5. $_SESSION['sumamd']=$document['md5sum'];

Plik B
  1. $temp=$_SESSION['sumamd'];
  2. echo $temp;
  3. die();

Pokazuje się pustka.
Do tego uświadomiłem sobie inny problem. Jest to związane z możliwością wykorzystania zapisanej wartości dla innego dokumentu, gdyż łańcuszek nie musi być wykonany bez przerwy. Pomijając nawet ten problem powyższa metoda nie działa. Sesja jest nawiązana przy logowaniu się do systemu i kończona przy wylogowaniu.
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Zainicjowałeś sesję: session_start ?

Ten post edytował fifi209 11.02.2010, 19:45:24
Go to the top of the page
+Quote Post
Demerzel
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 14.08.2007

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


To jest wielki system do którego muszę się dostosować. Sprawdziłem że przy wylogowaniu sesja jest zamykana. Gdzie jest ukryty plik otwierający sesję przy logowaniu nie mam pojęcia. W każdym razie jest otwierana przy logowaniu.
Go to the top of the page
+Quote Post
Pilsener
post
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Ja odradzam w takim wypadku sesje i cookies, bo to dla ustawień spersonalizowanych, mniej wydajne. Jeśli chcesz wygodnie przekazać zmienne do innego pliku php, który ma zostać wykonany to polecam CURL i tablicę POST - po prostu wysyłasz tablicę POST na podany adres, możesz to zrobić wiele razy i "łańcuszek" zostanie zachowany, bo tablica POST zawsze zostanie wysłana.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.12.2025 - 14:10