Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Formularz i dwie akacje - jak to zrobic?
Forum PHP.pl > Forum > Przedszkole
InosU31
Witam

Na poczatek powiem tyle ze przeszuklalem google i niestety nie znalazlem rozwiazania na swoj problem:-(

mam taki formularz :
  1. <form enctype="multipart/form-data" action="{$podstrona}" method="post">
  2.  
  3. <br>
  4. Rozwin liste aby wyswietlic dostepne <b>ramki</b>:
  5. <br><br>
  6. <SELECT name="pole_wyboru" value="wybierz" onChange="submit();" class="eNagl">
  7. <OPTION value=1><--Wybierz ramke--> </OPTION>
  8.  
  9.  
  10. {$lista_rozwijana}
  11.  
  12.  
  13. </SELECT><br><br>
  14.  
  15.  
  16. <input type="submit" name="pole_wyboru" value="Zmien" class="buttonstyle" style="padding: 4px; 0px; 2px; 0px; ">
  17.  
  18. </form>


a w skrypcie php cos takiego :
  1. <?php
  2. .......
  3. if (isset($_POST['pole_wyboru']) and (!empty($_POST['pole_wyboru'])) and ($_POST['pole_wyboru'] == $record['skrot']))
  4.            {
  5.            $wybrany = "selected=".$_POST['pole_wyboru'];
  6.            $record['skrot'] = $_POST['pole_wyboru'];
  7.            }
  8.            else
  9.            {
  10.            $wybrany = "";    
  11.            }
  12.  
  13. $fotopage->tassign['lista_rozwijana'] .= "<OPTION value=".$record['skrot']." $wybrany>".$record['skrot']."</OPTION>";
  14. $fotopage->tassign['podstrona'] = "?page=a_wyglad&aoc=zmien_ramka";
  15. ....
  16. ?>


i chcialbym cos takiego zrobic - bo tak to dziala - ze po wyborze z listy jakis danych strona sie przeladowuje i zostaje wyswietlona wybrana opcja z listy przeze mnie. To juz mam a problem w tym ze teraz chialbym po kliknieciu w "submit" wyslac formularz do innej strony ale nic mi nie wychodzi :-( Probowalem przycisk dac jako linka i wszystko gra przeladowuje ale znow nie wysyla danych z posta, probowalem przez switch ale to nie dziala:-(

moglby ktos podpowiedziec jak by to rozwiazac?? Da sie to jakos zrobic bez JS?

Z gory dzieki i pozdrawiam
skowron-line
Możesz zrobić sobie $action i manipulować nim po przyciśnięciu i wysłaniu juz raz $_POST[ 'submit' ] zmienić action na inny. to rozwiązanie bez JS
a z JS to wgryzasz się do forma i podmieniasz po przeladowaniu strony co lepsze wybierz sam
http://www.comptechdoc.org/independent/web...l/javaform.html
InosU31
Cytat(skowron-line @ 19.07.2009, 22:49:33 ) *
Możesz zrobić sobie $action i manipulować nim po przyciśnięciu i wysłaniu juz raz $_POST[ 'submit' ] zmienić action na inny. to rozwiązanie bez JS



a mozesz jasniej ? sory ale nie rozumiem :-( Probowalem zrobic switcha albo warunek:
  1. <?php
  2. if ($_POST['submit'])
  3. {
  4. wyswietl to
  5. }
  6. else wyswietl to
  7. ?>


ale to nie dziala
skowron-line
  1. <?php
  2.  
  3. $action = 'phpinfo.php';
  4. if( isset( $_POST[ 'submit' ] ))
  5. {
  6.    $action = 'inna_strona.php';
  7. }
  8.  
  9. ?>
  10. <form action="<?php echo $action; ?>" method="post">
  11. <input type="text" name="a" value="<?php echo $action; ?>">
  12. <input type="submit" name="submit" value="click">
  13. </form>


phpinfo.php to plik w którym znajduje się formularz za 1 razem odwoła się sam do siebie ale za 2 razem przeniesie już zupełnie gdzieś indziej.
InosU31
:-) OK juz cos sie dzieje bo dziala :-)
  1. <form enctype="multipart/form-data" {$akcja} method="post"> <!-- pole action zostawic puste bo wtedy wysle mi formularz na strone na ktorej bedzie ten formularz-->
  2.  
  3. <br>
  4. Rozwin liste aby wyswietlic dostepne <b>ramki</b>:
  5. <br><br>
  6. <SELECT name="pole_wyboru" value="{$podstrona}" onChange="submit();" class="eNagl">
  7. <OPTION value=1><--Wybierz ramke--> </OPTION>
  8.  
  9.  
  10. {$lista_rozwijana}
  11.  
  12.  
  13. </SELECT><br><br>
  14.  
  15.  
  16. <input type="submit" name="przycisk" value="Zmien" class="buttonstyle" style="padding: 4px; 0px; 2px; 0px; ">
  17.  
  18. </form>

  1. <?php
  2. if (isset($_POST['pole_wyboru']))
  3.        {
  4.        $fotopage->tassign['akcja'] = "action=\"?page=a_wyglad&amp;aoc=zmien_ramka\"";
  5.        }
  6.        if (isset($_POST['przycisk']))
  7.        {
  8.        $fotopage->tassign['akcja'] = "action=\"?page=a_wyglad&amp;aoc=zmieniono_ramka\"";    
  9.        }
  10. ?>


tylko teraz musze dwa razy wcisnac przycisk zeby wyslal mi tego posta - chyba najpierw wykonuje akcje 1 a pozniej dopiero 2? mozna cos z tym zrobic??

dzieki i pozdrawiam:-)
skowron-line
Ja osobiście nie kumam o co chodzi może to już ta godzina no ale.
InosU31
i tak mi duzo pomogles:-) dzieki wielkie:-)

Ps. dziwna sprawa - moze cos w tym jest - jak zrobie tak:
  1. <?php
  2. if (isset($_POST['pole_wyboru']))
  3.        {
  4.        $fotopage->tassign['akcja'] = "action=\"?page=a_wyglad&amp;aoc=zmien_ramka\"";
  5.        }
  6.        if (isset($_POST['przycisk']))
  7.        {
  8.        $fotopage->tassign['akcja'] = "action=\"?page=a_wyglad&amp;aoc=zmieniono_ramka\"";    
  9.        }
  10. ?>


to po 2 kliknieciach przeladuje mi na inna strone ale jak zrobie tak :
  1. <?php
  2. if (isset($_POST['przycisk']))
  3.        {
  4.        $fotopage->tassign['akcja'] = "action=\"?page=a_wyglad&amp;aoc=zmieniono_ramka\"";    
  5.        }
  6.  
  7. if (isset($_POST['pole_wyboru']))
  8.        {
  9.        $fotopage->tassign['akcja'] = "action=\"?page=a_wyglad&amp;aoc=zmien_ramka\"";
  10.        }
  11. ?>


to mi tylko przeladowuje strone:| ale to tak na marginesie moze jeszce cos wymysle;-)

pozdrawiam:-)
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.