ďťż
Podstrony
|
telcocafeWitam.Mam taki oto kod:echo eval('$'.$GLOBALS['nazwy_pol'][$i].';') .' - $'.$GLOBALS['nazwy_pol'][$i].';<br>'; Chcę żeby echo wyświetliło mi zawartość zmiennej której nazwa znajduje się w tablicy GLOBALS po zawartości tej zmiennej wyświetla mi nazwę tej zmiennej. Nazwy się wyświetlają zawartość zmiennej nie. Co z tym zrobić ? echo '$'.$GLOBALS['nazwy_pol'][$i].'; - $'.$GLOBALS['nazwy_pol'][$i].';<br>'; po co eval()? :) No jak to. Przecież bez funkcji eval on nie wyświetli mi zawartości zmiennej. Nazwy zmiennych przechowywuję w tablicy bo jako osoba przewidująca domyślam się że skrypt będę jeszcze modyfikował kilkadziesiąt razy. Chcę wyświetlić zawartość zmiennych których nazwy mam w tablicy. to może print_r()? No ale na co mi print_r ? Czkeja wyjaśnie dokładniej. Mam formularz. Z niego metodą post dane przechodzą do skryptu przetwarzającego. Jako że zwyczajnie upierdliwym jest zapisywanie nazw 43 pól formularza i sprawdzanie poprawności tych danych, zapisałem wszystkie nazwy pól w tabeli. W skrypcie aktualizującym dane muszę je jakoś pobrać z tablicy POST. $nazwy_pol = array('imie', 'nazwisko', 'costam'); $GLOBALS['nazwy_pol'][$i] gdzie jest zmienna licznikową. Teraz muszę stworzyć odpowiedniki zmiennych POST więc eval('$'.$GLOBALS['nazwy_pol'][$i].' = '.$_POST[$GLOBALS['nazwy_pol']].';'); co mi powinno dać nową zmienna o nazwie takiej jak ma nazwa pola z POST niestety nie mogę pobrać potem wartości tej zmiennej i wyświetlić ją za pomocą echo. to może powinieneś to w pętli wykonać? już sam nie rozumiem. :blink: (%@!#$%!)^%!#%$(^_! < pomstuję | nikt mnie nie rozumie nikt mnie kocha < apatia :P $nazwy_pol = array('info_imie' ,'info_nazwisko' ,'info_kraj' ,'info_miasto' ,'info_wiek_rok' ,'info_wiek_miesiac' ,'info_wiek_dzien' ,'info_telefon' ,'komp_procesor' ,'komp_karta_graficzna' ,'komp_karta_dzwiekowa'); for($i=0; $i<count($GLOBALS['nazwy_pol']); $i++) { eval('$'.$GLOBALS['nazwy_pol'][$i].' = \''.stripinput(trim($_POST[$GLOBALS['nazwy_pol'][$ i]])).'\';'); } Użytkownik orglee edytował ten post 14 styczeń 2007, 13:16 $nazwy_pol = array('info_imie' ,'info_nazwisko' ,'info_kraj' ,'info_miasto' ,'info_wiek_rok' ,'info_wiek_miesiac' ,'info_wiek_dzien' ,'info_telefon' ,'komp_procesor' ,'komp_karta_graficzna' ,'komp_karta_dzwiekowa'); for($i=0; $i<count($GLOBALS['nazwy_pol']); $i++) { eval('$'.$nazwy_pol[$i].' = \''.stripinput(trim($_POST['nazwy_pol'][$i])).'\ ';'); } no to teraz rozumiem :D ale jak możesz w POST przechowywać GLOBALS? @down: niemwidzę żadnych różnic :blink: Użytkownik marines edytował ten post 14 styczeń 2007, 13:31 Tfu pomylił mi się fragment kodu w drugiej części nie jest nazwa_pola tylko odwołanie do globals for($i=0; $i<count($GLOBALS['nazwy_pol']); $i++) { eval('$'.$GLOBALS['nazwy_pol'][$i].' = \''.stripinput(trim($_POST[$GLOBALS['nazwy_pol'][$i]])).'\ ';'); } Jeśli dobrze zrozumiałem, to chcesz wyświetlić w pętli zawartość zmiennych info_imie, info_nazwisko etc? Więc może zamiast eval, zrób po prostu echo $$GLOBALS['nazwy_pol'][$i]; ? Wtedy wyświetli zawartość zmiennej o nazwie jaka jest w tablicy $nazwy_pol. //Edit: Druga wersja, jak powyższa nie zadziała, troszkę się zamotałem: echo $GLOBALS[$$GLOBALS['nazwy_pol'][$i]]; Użytkownik Einzeinbleth edytował ten post 14 styczeń 2007, 16:29 |
|||
Sitedesign by AltusUmbrae. |