Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Problem z popupami
Forum PHP.pl > Forum > Przedszkole
marck
Mam mały problem z popupami... Otóż - Piszę program oparty na funkcjach, jego częścią jest tabela, z której otwiera się popup z formularzem... I tu właśnie "widzę ciemność"... Otóż nie wiem jak zmusić php-a by:
1. Wysłał dane z okienka do okna wywołującego (target='_parent' ani '_top' nie działa), do funkcji zapisującej
2. Odświeżył okno wywołujące zamykając popupa.

Aby nie być gołosłownym:

1. Jest tabelka wypisująca zapytanie. Powiedzmy...:

index2.php
  1. <?
  2. function pokaz_tabelke(){
  3.  
  4. conect(); //funkcja która łączy z bazą
  5.  
  6.  
  7. $pokaz_dane=mysql_query("SELECT * FROM user_stan ORDER BY u_name");
  8.  
  9. echo"<table>"
  10.  
  11. while($ln=mysql_fetch_array($pokaz_dane)){
  12. $uid=$ln['u_id'];
  13. $uname=$ln['u_name'];
  14. $uscore=$ln['u_score'];
  15. echo"<tr>
  16. <td>$uid</td>
  17. <td>$uname</td>
  18. <td>$uscore</td>
  19. <td>
  20. <a href='' onclick='window.open(\"index.php?id=form_score$uid=$uid\",\"mywindow \",\"menubar=no,toolbar=no,status=no,location=no,width=450,height=250,top=200,left=25
    0 \");'>Wydaj</a>
  21. </td>
  22. </tr>\r\n";
  23. }
  24. echo"</table>";
  25.  
  26. }


No i drugi pliczek obsługujący:

  1. <?
  2. require_once('index2.php');
  3.  
  4. if(isset($_GET['id'])){
  5. switch($_GET['id']){
  6.  
  7. case 'form_score':
  8. $uid=$_GET['uid'];
  9. <form action='index2.php?id=zapisz_dane' method='post'>
  10. <input name='uscore'>
  11. <input type='hidden' name='uid' value='$uid'>
  12. <input type='submit' value='ok'>
  13. </form>";
  14. break;
  15. case 'zapisz_dane':
  16. $uid=$_POST['uid'];
  17. $uscore=$_POST['uscore'];
  18. pokaz_nag(); // html, body i takie tam
  19. zapisz_wynik($uid,$uscore); //funkcja zapisu do bazy
  20. pokaz_tabelke(); //tabelka z linkiem do popupa
  21. pokaz_stopke();
  22. break;
  23. }
  24. }
  25.  


Otóż za żadne skarby nie mogę przekazać zmiennych $uid i $uscore z popupa do index.php gdzie te dane ma zapisać. Wprawdzie mogę to zrobić bez popupa ale klient się uparł i tyle. Macie może jakieś pomysły. Wiedza Forumowych GURU mile widziana....
ber32
Zacznij najpierw od tego
  1. <a href='' onclick='window.open(\"index.php?id=form_score$uid=$uid\",\"mywindow

zamień na
  1. <a href='' onclick='window.open(\"index.php?id=form_score&uid=$uid\",\"mywindow
marck
A to byk w tekście. Otóż jeśli nie dam przekazania do okna rodzica to zmienne pokazują mi się w popupie dobrze. Problem mam z przekazaniem do okna rodzica (wywołującego). Coś w stylu target='_parent'.

Aby było jaśniej.

1.Okno popup mi się otwiera.
2. Okno popup wyświetla formularz.
3. Dane z popupa nie lecą do okna rodzica - i tu jest kicha. Jak z formularza przesłać do okna otwierającego popup co_jest.gif


Za wszelkie sugestie z góry dzięki
ber32
Z twojego kodu wynika, że dane pobierasz z bazy i tam je zapisujesz.
marck
No właśnie - ale nie mogę zapisać, bo dane nie lecą do pliczku index.php gdzie mam opcję zapisu... Normalnie cycki opadają z tymi popupami...sad.gif
ber32
Jak dobrze rozumiem drugi pliczek jest indexem więc tam ma być action='index.php?id=zapisz_dane itd..
marck
Może prościej, bez baz i wielu plików. Jak zrobić by dane z tego popupa trafiły na stronę otwierającą?

Oto przykład. Uruchamianie: index.php?id=link
  1. <?
  2.  
  3.  
  4. if(isset($_GET['id'])){
  5. switch($_GET['id']){
  6. case 'form_wydaj':
  7. echo"<form action='index.php?id=pokaz' method='post' onsubmit='window.close();'>
  8. <input name='name'><input type='submit' value='ok'>
  9. </form>";
  10. break;
  11. case 'pokaz':
  12. $name=$_POST['name'];
  13. echo"<p>name=$name </p>";
  14. break;
  15. case 'link':
  16. <table>
  17. <tr>
  18. <td>Cośtam cośtam</td><td><a href='' onclick='window.open(\"index.php?id=form_wydaj\",\"mywindow\",\"menubar=no,toolbar=no,status=no,location=no,width=450,height=250,top=200,left=25
    0 \");'>Wydaj</a></td>
  19. </tr>
  20. </table>";
  21. break;
  22. }
  23. }
  24. ?>
  25.  
ber32
Przesyłam wzór jak i co .
Wrzuć na serwer i zobacz jak to działa
a potem dostosuj do swoich potrzeb
Radziłbym skorzystać z jQuery tu link

http://jqueryui.com/dialog/#modal-form

index.php
  1. <?php
  2. require_once('index2.php');
  3.  
  4. if(isset($_GET['id']))
  5. {
  6. echo $uid1=@$_POST['uid'];
  7. echo $uscore=@$_POST['uscore'];
  8. <form action='index.php?id=zapisz_dane' method='post'>
  9. <input name='uscore'>
  10. <input type='hidden' name='uid' value='".@$_GET['uid']."'> //// tu jest 5 z popupa
  11. <input type='submit' value='ok'>
  12. </form>";
  13. }

index2.php
  1. <?php
  2. <a href='' onclick='window.open(\"index.php?id=form_score&uid=5\",\"mywindow \",\"menubar=no,toolbar=no,status=no,location=no,width=450,height=250,top=200,left=25
    0 \");'>Wydaj</a>"
    ;
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.