Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazywanie zmiennej
Forum PHP.pl > Forum > PHP
Demerzel
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?
Fifi209
A od czego są sesje? :]
Demerzel
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.
Fifi209
Zainicjowałeś sesję: session_start ?
Demerzel
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.
Pilsener
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.
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.