![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 11.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Czy jest możliwość wysyłania tablica poprzez motedę GET ? Po wpisaniu następującego kodu : index.php Kod if ($tablica1[2] == "rosliny") { header("Location: index2.php?tablica1=$tablica1"); } index2.php Kod $tablica = $_GET["tablica1"]; echo " var_dump('$tablica')"; var_dump pokazuje "Array" zamiast wyświetlić całą zawartość tablicy ![]() Da się coś z tym zrobić; czy wysyłanie tablic przez metodę GET jest nie możliwe ? Ten post edytował Ashariel 12.12.2007, 21:59:52 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Tak jest możliwe,
np. ?tablica[a]=wartosc&tablica[b]=wartosc2 da nam: Kod array ( 'tablica' => array ( 'a' => 'wartosc', 'b' => 'wartosc2', ), ) Więc jeśli masz sobie jakąś tablicę to musisz ja wpisać w $_GET w sposób, który wyżej Ci zaprezentowałem. PS. Prosze zmień nazwę tematu na bardziej opisującą Twój problem ![]() -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 11.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok dzięki za odpowiedź.
Niestety problem jest gdy w tablicy jest dużo elementów. Jak na to zaradzić ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Ok dzięki za odpowiedź. Niestety problem jest gdy w tablicy jest dużo elementów. Jak na to zaradzić ? A co dokładnie chcesz uzyskać? Zawsze dane możesz przesyłać POST'em, bądź w sesjach czy ciastkach. Nie mniej jednak najlepiej by było jakbyś opisał dokładniej problem, może uda nam się to rozwiązać inaczej niż Ty wymyśliłeś. PS. Jeśli mimo wszystko chcesz wysłać tablicę GET'em to podaj przykład takiej tablicy, może coś poradzimy. Pozdrawiam serdecznie. -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 11.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Może zapytam inaczej:
Mam tablicę z dużą ilością elementów w pliku index.php i chciałbym jej zawartość wysłać do wielu plików, a jeśli to nie możliwe to tylko do pliku index2.php. Czego najlepiej użyć ? $_GET a może sesji ? Widzę że napisałeś że można to wysłać metodą POST. Jestem początkujący jeśli chodzi o programowanie i myślałem że metody POST używa się tylko przy formularzach ? Proszę o opisanie jakiejś możliwości. Ten post edytował Ashariel 12.12.2007, 22:17:08 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 605 Pomógł: 96 Dołączył: 22.10.2004 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Nie napisałeś czy dotyczy to formularzy czy też nie, metody GET i POST można używać przy formularzach, jest dowolność, jednak różnica polega na ilości wysyłanych danych i metodzie (GET pasek przeglądarki) [więcej google wikipedia], Zbierzmy to do kupy, masz sobie w pliku index.php jakąś tablicę:
I teraz zawartość tej tablicy chcesz wysłać do pliku index2.php. Żeby tego dokonać musisz stwierdzić czy, dane w tablicy są stałe czy będą często zmieniane, jeśli są to jakieś stałe dane to możesz stworzyć kolejny plik, który będziesz include" title="Zobacz w manualu PHP" target="_manual'ował do plików, do których będziesz chciał, aby została przekazana. Natomiast, w przypadku gdy tablica jest dynamiczna (np. dane pobierane z bazy, id użytkownika, itp), możesz je trzymać w sesji, wtedy w każdym pliku będziesz widział te dane (poczytaj o sesjach w manualu i na forum). Pytałem Cię o dokładne opisanie problemu, po to aby stwierdzić, do czego Ci to jest potrzebne, nie wiem rejestracja/logowanie, koszyk itp. Jeśli będziemy to wiedzieć, to łatwiej Cię nakierujemy. Pozdrawiam. -------------------- Najczęstsze błędy | Jak poprawnie zadać pytanie? | Serwer PHP - od czego zacząć?
SQL Injection | Hashowanie haseł | Jak działają sesje, przykłady ___ The world is yours ... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 11.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tablica będzie miała charakter dynamiczny.
Wiele elementów tej tablicy będzie zmiennymi. Ta tablica ma mi służyć jako logowanie użytkownika. Muszę jeszcze wiele poczytać o sesjach bo niestety nie mam o nich bladego pojęcia. PS. A czy to zadziała : ZAPIS : Kod $array = $_POST[array] To chyba było by zbyt piękne. Pozdrawiam Ten post edytował Ashariel 12.12.2007, 22:35:54 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod $array=$_POST[array] zadziała, pod warunkiem że $_POST[array] to nie tablica ![]() -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 15 Dołączył: 10.12.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Najlepszym rozwiązaniem jest sesja.
Jeśli chodzi o użycie sesji to podstawa jest prosta. 1. Na początku każdego przetwarzanego skryptu piszesz session_start(); 2. W skrypcie w którym chcesz przypisać wartości piszesz $_SESSION['array'] = $twoja_tablica; W pozostałych skryptach się możesz odwoływać do tablicy $_SESSION, czyli również do elementu $_SESSION['array'] np. $twoja_tablica = $_SESSION['array']; Ale to jest napisane na pierwszej stronie tutoriala do sesji ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 11.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki
![]() Pozdrawiam |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Sesje to najprawdopodobniej najlepsze rozwiązanie, kodu mało, czytelny, wszędzie masz dostęp do tych danych, nie musisz się o to martwić przy linkach i wszystko ładnie działa
![]() Pozdro -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 11.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzisiaj sprawdziłem.
Całej tablicy w sesji mi nie chce wysłać tylko elementy ![]() Sprawdzałem kilka razy i nie mogę się doszukać błędu. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 78 Pomógł: 15 Dołączył: 10.12.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Wklej tu to pomyślimy.
Pozatym jak mowa o sesji to ona cala nie jest wysylana do przegladarki, tylko jej identyfikator. Wszystkie dane sa przechowywane na serwerze, ale w tym przypadku to chyba i tak nie ma znaczenia. |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 11.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
O przepraszam za wprowadzenie w błąd.
Wszystko działa. Wtedy nie działało, ponieważ była nieprawidłowa nazwa stałej. Jest już ok. Pozdrawiam |
|
|
-Maciej Sprada- |
![]() ![]()
Post
#15
|
Goście ![]() |
Witam, wlasnie rozwiazalem ten problem.. mam nadzieje ze to sie komus przyda na przyszlosc bo stracilem mase zdrowia przy tym
tam jest takie cos jak stripslashes na niektorych serwerach moze byc to wylaczone wiec poprosu nie uzwyac tej funkcji, ale ogolnie powinno dzialac ![]() ![]() ![]() CODE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <body> <? $dataArray=array(0=>array('costam'=>'jest','costam2'=>'jest2'),1=>array('costam'=>'dwa1','costam2'=>'dwa2')); $costam2=serialize($dataArray); echo $costam2; echo '<br>'.$_GET['wynik']; $wynik3=unserialize(stripslashes($_GET['wynik'])); echo '<br>-->'.$wynik3[0]['costam']; ?> <br /><br /><br /><br /> <a href='index.php?wynik=<?php echo $costam2 ?>'>dadsdadadsa</a> </body> </html> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 06:34 |