Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przekazanie zmiennych w Array - problem
infor946
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 22.02.2006

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


Mam formularz form.html którym przesyłałem sporo danych do strony przetw.php i wszystko działa bez zarzutu, ale następnie musiałem stronę przetw.php umieścić w jako ramke w stronie zcal.php, a więc w formularzu zmieniłem adres z przetw.php na zcal.php i dodałem w zcal php taki oto kod.

  1. <?php
  2.  
  3. $keys=array_keys($_GET);
  4. foreach($keys as $key){
  5. $zm=$zm."&$key={$_GET[$key]}";
  6. }
  7. $zm=substr($zm,1,strlen($zm)-1);
  8.  
  9. echo "<frame src=przetw.php?".$zm.">";
  10.  
  11. ?>


i w tym przypadku zmienne nie będące tablicami przekazywane są poprawnie, natomiast zmienne tablicowe przekazją wartość "Array"

zmieniłem nieco kod na:
  1. <?php
  2.  
  3. $keys=array_keys($_GET);
  4. foreach($keys as $key){
  5. if(is_array($_GET[$key])){
  6. for($i=0;$i<count($_GET[$key]);$i++){
  7. $zm=$zm."$key={$_GET[$key][$i]}";
  8. }
  9. }else{
  10. $zm=$zm."&$key={$_GET[$key]}";
  11. }
  12. }
  13. $zm=substr($zm,1,strlen($zm)-1);
  14.  
  15. echo "<frame src=przetw.php?".$zm.">";
  16.  
  17. ?>


ale teraz też nie jest tak jakbym chciał - tzn nie jest dokładnie tak jakbym przesłał bezpośrenido z formularza zmieną zm1[], zawierającą wiele wartości z pola multiple select.

jak to rozwiązać ?
pomóżcie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Nie rozumiem po co tak kombinujesz z tymi indeksami? Nie można prościej:
  1. <?php
  2. foreach($_GET as $indeks => $wartosc)
  3.  $zm .= "&{$indeks}={$wartosc}";
  4. ?>


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
infor946
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 22.02.2006

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


no można ale to nie rozwiązuje mojego problemu, ze zmiennymi tablicowymi.
Go to the top of the page
+Quote Post
kszychu
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


hmmm, w sumie można by się bawić w rozpoznawanie, czy zmienna to tablica, jeśli tak to ilo wymiarowa itp. Bez rekurencji ani rusz. Ale może prościej byłoby serializować te tablice przed wysłaniem?


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
infor946
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 22.02.2006

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


juz rozwiązałem przy sprawdzaniu trzeba było dodać "[]" czyli całe rozwiązanie:

  1. <?php
  2.  
  3. foreach($_GET as $indeks => $wartosc){
  4. if(is_array($wartosc)){
  5. for($i=0;$i<count($wartosc);$i++){
  6. $zm.="&".$indeks."[]=".$wartosc[$i];
  7. }
  8. }else{
  9.  $zm .= "&{$indeks}={$wartosc}";
  10. }}
  11.  
  12.  
  13. ?>
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 Aktualny czas: 21.08.2025 - 11:14