Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $_get array jak zapisac kilka zmiennych w tablicy i je wyswietlic
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
sharp156
sprawa pewnie jest prosta ale ja niestety poleglem i niewiem zabardzo jak sie do tego zabrac , wiec może ktos podpowie....
powiedzmy ze mam formularz z 5 zmiennymi :
strona1.html
  1.  
  2. <form action="strona2.php" method="get">
  3.  
  4. <input type="text" name="zmienna[]" value="wartosc z coockie lub jakas wartosc value jeśli niema coockie" /></p>
  5. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie" /></p>
  6. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  7. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  8. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  9. <input type="text" name="zmienna[]" placeholder=" wpisz swoje imie tutaj" required/></p>
  10. <input type="submit" value="submit" />
  11.  
  12. </form>
  13.  


czyli gdy jest coockie z tymi zmiennymi to wstawia je w pola a jak nie to jest na przyklad value="brak wpisu" .
teraz trzeba wpisac imie na ostatnim polu i wysłać
zmienne do strona2.php ktora wyswietli tablice zmiennych $_get ale juz tylko 5 zmiennych usuwając pierwszą.
i tu jest problem .. mozna by uzyc wyswietlenia w pętli zawartości tablicy jedna pod druga. tylko jak... ? i po wyswietleniu ustawic coockie z nimi ...
musi być get bo ma być mozliwość zapisania tych zmiennych w linku by mozna bylo je rownierz przeslac do strona2.php przez link.
i po usunięciu pierwszej zmiennej , druga musi stać sie pierwsza i wyswietlona jako pierwsza w wartosci z coockie dla formularza na strona1.html gdzie jest 6 pol i ostatnie jest zawsze puste gdzie dodaje sie zmienna do tablicy. heeelp ..... biggrin.gif

strona2.php
  1. <?
  2. foreach($input->get as $zmienna => $value)
  3. echo htmlentities("$zmienna = $value") . "<br />";
  4.  
  5.  
  6. ?>



cos w tej wersji tylko czy na 000webhost i PHP Version 5.2.17 input dziala jak to sprawdzic ?
i jak pominąc pierwsza zmienna czyli wcisnac gdzies if zmienna empty to pomija w wyswietlaniu i jakos w formularzu cos jak hidden value 0 która bedzie wysyłana a wyswietlana ta z coockie albo jak....?
ogolnie skrypt nic nie wyswietla ... moze ktos cos wie wiecej o usawieniach standardowych 000webhost i php tam .. moze gdzies tam tkwi przyczyna .. przesyła za to pojedyńcza zmienna i forma echo $_GET["zmienna"]; wiec php dziala . zmienne przesyla w linku w formie /dwa.php?zmienna%5B%5D=wartosc zmiennej&zmienna... wyswietla błąd Invalid argument supplied for foreach() in /home/dwa.php on line 12

ostateczna wersja jest taka:

  1.  
  2. <form action="strona2.php" method="GET">
  3.  
  4. <input type="text" name="zmienna[]" value="wartosc z coockie lub jakas wartosc value jeśli niema coockie" /></p>
  5. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie" /></p>
  6. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  7. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  8. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  9. <input type="text" name="zmienna[]" placeholder=" wpisz swoje imie tutaj" required/></p>
  10. <input type="submit" value="submit" />
  11.  
  12. </form>
  13.  

<br />
i
  1.  
  2. <?php
  3. echo "<strong>lista</strong><br />\n";
  4.  
  5. if (isset($_GET['zmienna']) && is_array($_GET['zmienna']))
  6. {
  7. foreach ($_GET['zmienna'] as $value)
  8. {
  9. echo $value."<br />\n";
  10. }
  11. }
  12. else
  13. {
  14. echo "wpisz imie<br />\n";
  15. }
  16. ?>
  17.  


wiec ta wersja wyswietla zmienne tylko jak pominąć pierwsza z nich czyli [0] gdy dodamy 6 zmienna tak zeby nadal bylo te 5 przykladowe...
i jak ktos wie to jaka jest kolejnosc wyswietlania w takiej petli..
Talidali
Cytat
tylko jak pominąć pierwsza z nich czyli [0] gdy dodamy 6 zmienna tak zeby nadal bylo te 5 przykladowe...


Zmień nazwę pierwszego inputa z zmienna[] na inną(?)
sharp156
wlasnie tez w tą strone poszedlem ... to moze wiesz jak wstawic zmienne z coockie . juz nie tablice... a jesli nie ma coockie to wartości z get czy value=.
czyli cos w stylu sprawdzenia czy jes coockie jak nie to dopiero wyswietla wczesniej zdefiniowane wartosci... cos jak:

  1.  
  2. <form action="strona2.php" method="GET">
  3.  
  4. <input type="text" name="zmienna[]" value="wartosc z coockie lub jakas wartosc value jeśli niema coockie" /></p>
  5. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie" /></p>
  6. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  7. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  8. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  9. <input type="text" name="zmienna[]" placeholder=" wpisz swoje imie tutaj" required/></p>
  10. <input type="submit" value="submit" />
  11.  
  12. </form>
  13.  


Ps. jak teraz klikne pomógł to temat będzie zamknięty? tak na zachęte chciałem kliknąc ale wole sie upewnic..

dżozef
nie będzie, możesz dziękować każdemu za odpowiedź, nawet wielokrotnie tej samej osobie
sharp156
to na zachete i tobie wcisne .. a wiesz cos na temat pierwszej część pytania ?
dżozef
niestety nie sad.gif
Talidali
Cytat(sharp156 @ 13.06.2013, 22:26:45 ) *
wlasnie tez w tą strone poszedlem ... to moze wiesz jak wstawic zmienne z coockie . juz nie tablice... a jesli nie ma coockie to wartości z get czy value=.
czyli cos w stylu sprawdzenia czy jes coockie jak nie to dopiero wyswietla wczesniej zdefiniowane wartosci... cos jak:

  1.  
  2. <form action="strona2.php" method="GET">
  3.  
  4. <input type="text" name="zmienna[]" value="wartosc z coockie lub jakas wartosc value jeśli niema coockie" /></p>
  5. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie" /></p>
  6. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  7. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  8. <input type="text" name="zmienna[]" readonly="on" value="wartosc ustawiana gdy brak zmiennej dla tego pola z coockie"/></p>
  9. <input type="text" name="zmienna[]" placeholder=" wpisz swoje imie tutaj" required/></p>
  10. <input type="submit" value="submit" />
  11.  
  12. </form>
  13.  


Ps. jak teraz klikne pomógł to temat będzie zamknięty? tak na zachęte chciałem kliknąc ale wole sie upewnic..




  1. if(!isset($_COOKIE['data']))
  2. $valueInput = ['jakas wartosc value jeśli niema coockie', 'wartosc ustawiana gdy brak zmiennej dla tego pola z coockie1', 'wartosc ustawiana gdy brak zmiennej dla tego pola z coockie2', 'wartosc ustawiana gdy brak zmiennej dla tego pola z coockie3', 'wartosc ustawiana gdy brak zmiennej dla tego pola z coockie4'];
  3. else
  4. $valueInput = json_decode($_COOKIE['data']);
  5.  
  6. echo '<form action="strona2.php" method="GET">
  7.  
  8. <input type="text" name="zmienna[]" value="'.$valueInput[0].'" /></p>
  9. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[1].'" /></p>
  10. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[2].'"/></p>
  11. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[3].'"/></p>
  12. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[4].'"/></p>
  13. <input type="text" name="zmienna[]" placeholder=" wpisz swoje imie tutaj" required/></p>
  14. <input type="submit" value="submit" />
  15.  
  16. </form>';
sharp156
wielkie dzieki.. smile.gif wyglada poprawnie na oko smile.gif zabieram sie do skladania i dam znac .... c d n

cos jest nie tak. .. Parse error: syntax error, unexpected '[' in .... wiec dodałem {} , bo zdaje sie kolega zapomniał lub tez nie.... moglbys zerknac okiem jeszcze raz ..?

i po dodaniu "{}" tak samo wiec zamienilem "[]" na "()" wiec pojawil sie Parse error: syntax error, unexpected ',' in....

  1.  
  2.  
  3. if(!isset($_COOKIE['data']))
  4. {
  5. $valueInput = ('jakas', 'coockie1', 'coockie2', 'coockie3', 'coockie4'); //// tutaj to wpisac wartosci czyli w tym rpzypadku tabela imion czy zmienne cos jak zmienna[0]...?
  6. }
  7. else
  8. {
  9. $valueInput = json_decode($_COOKIE['data']);
  10.  
  11. echo '<form action="strona2.php" method="GET">
  12.  
  13. <input type="text" name="zmienna[]" value="'.$valueInput[0].'" /></p>
  14. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[1].'" /></p>
  15. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[2].'"/></p>
  16. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[3].'"/></p>
  17. <input type="text" name="zmienna[]" readonly="on" value="'.$valueInput[4].'"/></p>
  18. <input type="text" name="zmienna[]" placeholder=" wpisz swoje imie tutaj" required/></p>
  19. <input type="submit" value="submit" />
  20. </form>';
  21. }


$tablica = array_shift ($tablica);

wiec pytanie brzmi :

jak wcisnac w te petle :

  1.  
  2. echo "<strong>lista</strong><br />\n";
  3.  
  4. if (isset($_GET['zmienna']) && is_array($_GET['zmienna']))
  5. {
  6. array_shift ($_GET['ac']);
  7.  
  8. foreach ($_GET['zmienna'] as $value)
  9.  
  10. {
  11. echo $value."<br />\n";
  12. }
  13. }
  14. else
  15. {
  16. echo "wpisz imie<br />\n";
  17. }
  18.  

funkcje array shift ktor aw-g teori powinna usunac pierwsza wartosc z tablicy przesuwajac klucze o jeden do gory... czyli zmienna [1] bedzie zmienna[0]?
i potem jak przypisac pozostale wartosci do zmiennych?

wystarczylo odespac i tak wcisnac oczywiscie....
  1.  
  2. if (isset($_GET['zmienna']) && is_array($_GET['zmienna']))
  3. {
  4.  
  5. foreach ($_GET['zmienna'] as $value)
  6.  
  7. {
  8. echo $value."<br />\n";
  9. }
  10. }
  11. else
  12. {
  13. echo "wpisz imie<br />\n";
  14. }
  15.  
  16.  
  17.  
  18.  


wyciołem potrzebe przypisania do zmiennych... ale czy ktos

... ale czy ktos moze rzucic okiem na te zmienne z coockie lub przypisana value? jezeli niema...

to wie ktos jak wstawic wartosci z tablicy do pol input w formularzu a jak brak ciastka z tymi zmiennymi to przypisana wartosc....?

interesuje mnie takie pole input :

  1.  
  2. <input type="text" name="imie[]" size="50" value="<?php if(isset($_COOKIE['imie[0]'])&& isset($_GET['imie[0]'])) { echo $imie[0]; } else { echo "jakas wartosc";}?>" /></p>
  3.  
  4.  


czyli miało by byc tak : jezeli jest wartosc z coockie lub jest z get np z linku , to wstawia ta wartosc z tablicy imion a jak nie to wartosc wpisana poczatkowa..... ktos moze ocenic te wersje ...? poprawic jak trzeba...?



rozwiazałem to tak i zdaje sie byc to dobrym kierunkiem ..:


  1.  
  2. <form action="dwa.php" method="GET">
  3.  
  4.  
  5. <input type="text" name="zmienna[]" size="50" readonly="on" value="<?php if(isset($_COOKIE['zmienna']) || isset($_GET['zmienna'])&& is_array($_GET['zmienna'])) { echo $zmienna[0]; } else { echo "jakas wartosc poczatkowa";}?>" /></p>
  6. <input type="text" name="zmienna[]" size="50" readonly="on" value="<?php if(isset($_COOKIE['zmienna']) || isset($_GET['zmienna'])&& is_array($_GET['zmienna'])) { echo $zmienna[1]; } else { echo "jakas wartosc poczatkowa";}?>" /></p>
  7. <input type="text" name="zmienna[]" size="50" readonly="on" value="<?php if(isset($_COOKIE['zmienna']) || isset($_GET['zmienna'])&& is_array($_GET['zmienna'])) { echo $zmienna[2]; } else { echo "jakas wartosc poczatkowa";}?>" /></p>
  8. <input type="text" name="zmienna[]" size="50" readonly="on" value="<?php if(isset($_COOKIE['zmienna']) || isset($_GET['zmienna'])&& is_array($_GET['zmienna'])) { echo $zmienna[3]; } else { echo "jakas wartosc poczatkowa";}?>" /></p>
  9. <input type="text" name="zmienna[]" size="50" readonly="on" value="<?php if(isset($_COOKIE['zmienna']) || isset($_GET['zmienna'])&& is_array($_GET['zmienna'])) { echo $zmienna[4]; } else { echo "jakas wartosc poczatkowa";}?>" /></p>
  10. <input type="text" name="zmienna[]" size="50" placeholder=" tutaj wpisz imie" required /></p>
  11. <input type="submit" value="save" />
  12.  
  13. <input type=reset><br>
  14.  
  15. </form>
  16.  



potem wyswietlam na dwa.php
  1.  
  2.  
  3. echo "<strong>lista</strong><br />\n";
  4.  
  5. if (isset($_GET['zmienna']) && is_array($_GET['zmienna']))
  6. {
  7. array_shift ($_GET['ac']);
  8.  
  9. foreach ($_GET['zmienna'] as $value)
  10.  
  11. {
  12. echo $value."<br />\n";
  13. }
  14. }
  15. else
  16. {
  17. echo "wpisz imie<br />\n";
  18. }
  19.  
  20.  

teraz jak zrobic aby zmodyfikowana tablica zostala zapisana do globalnej bo z niej korzystam na on aby sie tak odwolac do zmiennej... ? bo po wstawieniu po nizej tych samych pol wyswietla bez obciecia pierwszej pozycji chociaz war dump pokazuje prawidlowa tablice....
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-2024 Invision Power Services, Inc.