Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/html]wywołanie funkcji poprzez naciśnięcie klawisza
kitachi
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 30.11.2006

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


Witam
tworzę swój pierwszy nieco bardziej złożony skrypt, założenie jest takie :
1. w pierwszym pliku jest formularz po wypełnieniu którego wysyłane są dane do pliku nr 2
2. w 2 następuje obróbka i sprawdzenie danych, po obróbce i uzupełnieniu o dodatkowe dane miały być dane wysyłane formularzem polami hidden do pliku nr 3. Po akceptacji przez wypełniającego.
3. w trójce miało to być wysyłane mailem gdzie trzeba.

okazało się że pola hidden w 2 obcinają stringi do pierwszej spotkanej spacji i przy polach zawierających np. Imię i Nazwisko dochodziło tylko to co było pierwsze. Mogę podmienić spacje poprzez str_replace ale nie o to chodzi. Postanowiłem umieścić plik nr 3 w postaci funkcji w pliku nr 2. Mam kłopot z wywołaniem tej funkcji przy pomocy button, zamykam to okno tak :
  1. <input type=button class=button value="wróć" onClick="java script:window.close()">

chciałem wywołać tę funkcję analogicznie, ale nie działa.
  1. <input type=button class=button value="wyślij" onClick="wyslij()">

W funkcji zadeklarowałem wszystkie dane jakie mają być w niej używane jako global bo to zmienne formularza czyli obecne w całym pliku nr 2 i ich potrzebuję do wysłania.
Proszę o proste objaśnienia, to moje początki z PHP.
Serdecznie dziękuję i pozdrawiam wszystkich czytających.
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Otwieram.

Z tego co napisałeś, nie wiem czy interesuje Cię wywołanie funkcji JS czy też jakiejś z funkcji PHP.

Co do obcinania danych w hiddenach, możesz to zastąpić albo sesjami albo zapisem tymczasowym do bazy danych ( albo nawet w plikach , jeżeli nie masz bazy danych )

Daj więcej danych i może trochę więcej kodu.
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
okazało się że pola hidden w 2 obcinają stringi do pierwszej spotkanej spacji i przy polach zawierających np. Imię i Nazwisko dochodziło tylko to co było pierwsze.

Bo value nalezy pisac tak: value="imie i nazwisko" a nie tak: value=imie i nazwisko
pozatym wszystko nalezy brac w "" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kitachi
post
Post #4





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 30.11.2006

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


witam
  1. <HEAD> <TITLE>TEKNOHEAT</TITLE>
  2. <meta http-equiv="Content-Type" content="text/html; lang="pl" charset="iso-8859-2">
  3. <script LANGUAGE="JavaScript">
  4. <!--
  5. function cl()
  6. {
  7. window.close();
  8. }
  9. //-->
  10. <font face="Arial">
  11. <?
  12. print('<form name="teknoheat" action="../moje/podlicz_tekh.php" method="POST">');
  13. print ('<br><br><BR><b><center>');
  14. print ("ZAMAWIASZ TEKNOHEAT");print ('<br>');
  15. print ("Zamówiłe&para; towary :");print ('<br>');
  16. print ('Teknoheat 200 ml. szt : ' . "$t200");print ('<br>');
  17. print ('Teknoheat 500 ml. szt : ' . "$t500");print ('<br>');
  18. print ('Teknoheat 1 l. szt : ' . "$t1");print ('<br>');
  19.  
  20. print ('Teknoheat biały 200 ml. szt : ' . "$tb200");print ('<br>');
  21. print ('Teknoheat biały 500 ml. szt : ' . "$tb500");print ('<br>');
  22. print ('Teknoheat biały 1 l. szt : ' . "$tb1");print ('<br>');
  23.  
  24. print ('Teknoheat złoty 300 ml. szt : ' . "$tz300");print ('<br>');
  25. print ('Teknoheat złoty 750 ml. szt : ' . "$tz750");print ('<br>');
  26. print ('Teknoheat złoty 1,5 l. szt : ' . "$tz15");print ('<br>');
  27.  
  28. print ('Teknoheat miedziany 300 ml. szt : ' . "$tm300");print ('<br>');
  29. print ('Teknoheat miedziany 750 ml. szt : ' . "$tm750");print ('<br>');
  30. print ('Teknoheat miedziany 1,5 l. szt : ' . "$tm15");print ('<br>');
  31.  
  32. print ('Rozpuszczalnik do Teknoheat 0,5 l. szt : ' . "$tr500");print ('<br>');
  33. print ('');
  34.  
  35. $kwota = ($t200 *13.3)+($t500*29)+($t1*56)+($tb200*24)+($tb500*52.2)+($tb1*100.8)+(($tz300+tm300)*24)+(($tz750+$tm750)*52.2)+(($tz15+$tm15)*100.8)+($tr500*8.2);
  36. print ('Na ł&plusmn;czn&plusmn; kwotę : ' . "$kwota" . ' złotych');print ('<br>');
  37.  
  38. print ('<br><br><BR><div align="center">
  39. <input type="hidden" name="kwota" value='.$kwota.'>
  40. <input type="hidden" name="t200" value='.$t200.'>
  41. <input type="hidden" name="t500" value='.$t500.'>
  42. <input type="hidden" name="t1" value='.$t1.'>
  43.  
  44. <input type="hidden" name="tb200" value='.$tb200.'>
  45. <input type="hidden" name="tb500" value='.$tb500.'>
  46. <input type="hidden" name="tb1" value='.$tb1.'>
  47.  
  48. <input type="hidden" name="tz300" value='.$tz300.'>
  49. <input type="hidden" name="tz750" value='.$tz750.'>
  50. <input type="hidden" name="tz15" value='.$tz15.'>
  51.  
  52. <input type="hidden" name="tm300" value='.$tm300.'>
  53. <input type="hidden" name="tm750" value='.$tm750.'>
  54. <input type="hidden" name="tm15" value='.$tm15.'>
  55. <input type="hidden" name="tr500" value='.$tr500.'>
  56.  
  57. <input type="hidden" name="e_mail" value='.$e_mail.'>
  58. <input type="hidden" name="nazwa_fir" value='.$nazwa_fir.'>
  59. <input type="hidden" name="nip" value='.$nip.'>
  60. <input type="hidden" name="imie_i_nazw" value='.$imie_i_nazw.'>
  61. <input type="hidden" name="ulica" value='.$ulica.'>
  62. <input type="hidden" name="kodp" value='.$kodp.'>
  63. <input type="hidden" name="miasto" value='.$miasto.'>
  64. <input type="hidden" name="telefon" value='.$telefon.'>
  65. <input type=button class=button value="wróć do zamówienia" onClick="java script:window.close()">
  66. <input type="submit" value="Wy&para;lij zamówienie" name="submit">
  67. </form>
  68. </div>');
  69. //}
  70. ?>
  71. </font>
  72. </body></HTML>

to kod pliku nr 2 po przesłaniu danych z formularza od pliku nr 1
  1. <META http-equiv="content-type" content="text/html; lang="pl" charset="iso-8859-2">
  2. <script LANGUAGE="JavaScript">
  3. <!--
  4. function cl()
  5. {
  6. window.close();
  7. }
  8. //-->
  9. <font face="Arial">
  10. <?
  11.  
  12. print ("Zamówienie zostało przyjęte !<br>");
  13. print("Dziękujemy !");
  14. $from = 'e_mail';
  15. $to = '1@eranet.pl';
  16. $szef = '2@eranet.pl';
  17. $subject = 'zamówienie ze strony www';
  18. $body = ("Zamówienie \n\n
  19. Zamówienie \n ================================================================================
    == \n\n
  20. Firma : $nazwa_fir \n
  21. NIP : $nip \n
  22. Imie i nazwisko : $imie_i_nazw \n
  23. Ulica : $ulica \n
  24. Kod pocztowy : $kodp \n
  25. Miasto : $miasto \n
  26. Telefon : $telefon \n
  27. e-mail : $e_mail \n \n
  28. Zamówienie Teknoheat 200 ml.: $t200 \n
  29. Zamówienie Teknoheat 500 ml.: $t500 \n
  30. Zamówienie Teknoheat 1 l.: $t1 \n
  31. Zamówienie Teknoheat biały 200 ml.: $tb200 \n
  32. Zamówienie Teknoheat biały 500 ml.: $tb500 \n
  33. Zamówienie Teknoheat biały 1 l.: $tb1 \n
  34. Zamówienie Teknoheat złoty 300 ml.: $tz300 \n
  35. Zamówienie Teknoheat złoty 750 ml.: $tz750 \n
  36. Zamówienie Teknoheat złoty 1,5 l.: $tz15 \n
  37. Zamówienie Teknoheat miedziany 300 ml.: $tm300 \n
  38. Zamówienie Teknoheat miedziany 750 ml.: $tm750 \n
  39. Zamówienie Teknoheat miedziany 1,5 l.: $tm15 \n
  40. Zamówienie rozpuszczalnik do Teknoheat 500 ml.: $tr500 \n
  41. warto&para;ć zamówienia : $kwota \n ");
  42. mail ($to,$subject,$body,"From : $from \n ");
  43. mail ($e_mail,$subject,$body,"From : $to \n Return-Path: <1@eranet.pl>");
  44. mail ($szef,$subject,$body,"From : $from \n ");
  45.  
  46. print ('<br><br><BR><div align="center">
  47. <input type=button class=button value="zamknij" onClick="java script:window.close()">
  48. </div>');
  49.  
  50.  
  51. ?>
  52. </font>
  53. </body></HTML>

to kod pliku wysyłającego nr 3 zamieniłem go na funkcję i wstawiłem do pliku nr 2 pod taką postacią
  1. function wyslij ()
  2. {
  3. global $kwota;
  4. global $t200; global $t500; global $t1;
  5. global $tb200; global $tb500; global $tb1;
  6. global $tz300; global $tz750; global $tz15;
  7. global $tm300; global $tm750; global $tm15;
  8. global $tr500;
  9.  
  10. $from = 'e_mail';
  11. $to = '1@eranet.pl';
  12. $szef = '2@eranet.pl';
  13. $subject = 'zamówienie ze strony www';
  14. $body = ("Zamówienie \n\n
  15. Zamówienie \n ================================================================================
    == \n\n
  16. Firma : $nazwa_fir \n
  17. NIP : $nip \n
  18. Imie i nazwisko : $imie_i_nazw \n
  19. Ulica : $ulica \n
  20. Kod pocztowy : $kodp \n
  21. Miasto : $miasto \n
  22. Telefon : $telefon \n
  23. e-mail : $e_mail \n \n
  24. Zamówienie Teknoheat 200 ml.: $t200 \n
  25. Zamówienie Teknoheat 500 ml.: $t500 \n
  26. Zamówienie Teknoheat 1 l.: $t1 \n
  27. Zamówienie Teknoheat biały 200 ml.: $tb200 \n
  28. Zamówienie Teknoheat biały 500 ml.: $tb500 \n
  29. Zamówienie Teknoheat biały 1 l.: $tb1 \n
  30. Zamówienie Teknoheat złoty 300 ml.: $tz300 \n
  31. Zamówienie Teknoheat złoty 750 ml.: $tz750 \n
  32. Zamówienie Teknoheat złoty 1,5 l.: $tz15 \n
  33. Zamówienie Teknoheat miedziany 300 ml.: $tm300 \n
  34. Zamówienie Teknoheat miedziany 750 ml.: $tm750 \n
  35. Zamówienie Teknoheat miedziany 1,5 l.: $tm15 \n
  36. Zamówienie rozpuszczalnik do Teknoheat 500 ml.: $tr500 \n
  37. warto&para;ć zamówienia : $kwota \n ");
  38. mail ($to,$subject,$body,"From : $from \n ");
  39. mail ($e_mail,$subject,$body,"From : $to \n Return-Path: <1@eranet.pl>");
  40. mail ($szef,$subject,$body,"From : $from \n ");
  41.  
  42. print ('<br><br><BR><div align="center">
  43. <input type=button class=button value="zamknij" onClick="java script:window.close()">
  44. </div>');
  45. }

chciałbym wywołać funkcję "wyslij()" w pliku nr 2 po naciśnięciu klawisza
  1. <input type=button class=button value="wyślij" onClick="wyslij()">

tak aby ona zadziałała, może być inny sposów wywołania funkcji po naciśnięciu obrazka i tp. lub jeśli można coś poradzić aby pola hidden nie obcinały stringów.
Przy okazji znalazłem parę braków deklaracji zmiennych global do funkcji.
Pozdrawiam.
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ub jeśli można coś poradzić aby pola hidden nie obcinały stringów.
Chlopie, czy ty czytasz co do Ciebie piszą?
Cytat
Bo value nalezy pisac tak: value="imie i nazwisko" a nie tak: value=imie i nazwisko
pozatym wszystko nalezy brac w ""

A ty dalej pokazujesz kod, gdzie u ciebie value w hidden wyglada tak: value=imie i nazwisko

Mamy sie pogniewac? Po 15 razy trzeba pisac to samo?
Go to the top of the page
+Quote Post
kitachi
post
Post #6





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 30.11.2006

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


Witam
rozumiem doskonale "". Tyle, że chcę przekazać wartość zmiennej czyli nie " a ' value='.$zmienna.' bo jeśli dam tak jak Pan radzi value="$zmienna" to przekażę do e-mail w polu wartość=$zmienna. No chyba, że Pan mówi o czym innym, a ja nie jarzę (to moja wina).
za przekazanie danych odpowiada ta sekcja :
  1. <?php
  2. print ('<br><br><BR><div align="center">
  3. <input type="hidden" name="kwota" value='.$kwota.'>
  4. <input type="hidden" name="t200" value='.$t200.'>
  5. <input type="hidden" name="t500" value='.$t500.'>
  6. <input type="hidden" name="t1" value='.$t1.'>
  7.  
  8. <input type="hidden" name="tb200" value='.$tb200.'>
  9. <input type="hidden" name="tb500" value='.$tb500.'>
  10. <input type="hidden" name="tb1" value='.$tb1.'>
  11.  
  12. <input type="hidden" name="tz300" value='.$tz300.'>
  13. <input type="hidden" name="tz750" value='.$tz750.'>
  14. <input type="hidden" name="tz15" value='.$tz15.'>
  15.  
  16. <input type="hidden" name="tm300" value='.$tm300.'>
  17. <input type="hidden" name="tm750" value='.$tm750.'>
  18. <input type="hidden" name="tm15" value='.$tm15.'>
  19. <input type="hidden" name="tr500" value='.$tr500.'>
  20.  
  21. <input type="hidden" name="e_mail" value='.$e_mail.'>
  22. <input type="hidden" name="nazwa_fir" value='.$nazwa_fir.'>
  23. <input type="hidden" name="nip" value='.$nip.'>
  24. <input type="hidden" name="imie_i_nazw" value='.$imie_i_nazw.'>
  25. <input type="hidden" name="ulica" value='.$ulica.'>
  26. <input type="hidden" name="kodp" value='.$kodp.'>
  27. <input type="hidden" name="miasto" value='.$miasto.'>
  28. <input type="hidden" name="telefon" value='.$telefon.'>
  29. <input type=button class=button value="wróć do zamówienia" onClick="java script:window.close()">
  30. <input type="submit" value="Wyślij zamówienie" name="submit">
  31. </div>');
  32. ?>

jeśli coś jest nie tak, a chyba jest skoro nie działa jak chcę, proszę o sugestie
1. jak wywołać funkcję po naciśnięciu klawisza
2. ewentualnie jak poprawić powyższy kod aby nie obcinało mi stringów na spacjach

Pozdrawiam

Scio me nihil scire
Wiem, że nic nie wiem - Sokrates.
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




po pierwsze: nie Pan, a nospor
po drugie: nie czaisz wogole (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Przyklad:
  1. <?php
  2. //twoj kod:
  3. echo '<input value='.$zmienna.' />';
  4.  
  5. //moj kod
  6. echo '<input value="'.$zmienna.'" />';
  7. ?>

Troche jasniej?
Go to the top of the page
+Quote Post
kitachi
post
Post #8





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 30.11.2006

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


Witam
No teraz to kawa na ławę, jak dla Ferdka Kiepskiego pseudo j.... , teraz kumam czaczę.
Sprawdzę czy dzieła i opowiem.
Tak na przyszłość jak wywołać funkcję naciskając klawisz ?
Pozdrawiam.

witam
Oczywiście nospor jako tebeściak miał rację, wszystko śmiga jak trzeba i jak chciałem.
Jeszcze tylko jak mi powiecie jak wywołać funkcję naciskając klawisz/link to będę w pełni szczęśliwy.
Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
Go to the top of the page
+Quote Post
maryaan
post
Post #9





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


jakbys sie jeszcze okreslil co to za funkcja ma byc wywolana (js/php/??) i co rozumiesz pod pojeciem "klawisz" to juz by bylo calkiem fajnie
Go to the top of the page
+Quote Post
kitachi
post
Post #10





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 30.11.2006

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


witam
no właśnie jeszcze nie wiem jaką funkcję może by po kolei (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) zacząłbym od PHP, potem JS.
  1. <input type=button class=button value="wyślij" onClick="wyslij()">

może coś takiego gdzie wywoływaną funkcją byłoby wyslij() lub jakiś link z obrazkiem np :
  1. <a href="../zamow.html"><img src="zamow.gif"></a>

i do tego podpięta funkcja wyślij.

Pozdrawiam
Go to the top of the page
+Quote Post
maryaan
post
Post #11





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


funkcji php nie wywolasz "z klikniecia" bo php jest wykonywane po stronie serwera, najpierw do serwera musisz wyslac jakies żądanie a pozniej skrypt docelowy wybiera funkcje do odpalenia na podstawie danych ktore przekazales. Z js jest inaczej bo js dziala po stronie przegladarki i kliknieciem bezposrednio mozesz wywolac funkcje tak jak to powyzej napisales.

Polecam poczytac o roznicach miedzy skryptami wykonywanymi po stronie serwera i klienta, pozwoli to zrozumiec mechanizmy za pomoca ktorych takie skrypty sie uruchamia i uniknac w przyszlosci pytan na ktore odpowiedzi - dla osoby choc troche znajacej temat - sa oczywiste. Jesli chcesz cos dzialac w temacie pisania stron to jest to i tak nieuniknione, wiec im szybciej to zrobisz tym lepiej dla Ciebie.
Go to the top of the page
+Quote Post
kitachi
post
Post #12





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 30.11.2006

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


Witam
no tak macie rację, stare nawyki.


Witam ponownie
mam pytanie z innej bajki, jak umieścić logo w pasku przeglądarki, tak jak jest tu na forum ten czerwony kwadracik z napisem php.pl . Powiedzcie jak się ta funkcja nazywa a sam znajdę, bo szukałem ale nie wiedziałem jak to nazwać i nie znalazłem. I czy to jest html, js ?
Pozdrawiam.
Go to the top of the page
+Quote Post
maryaan
post
Post #13





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

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


odpowiedz masz w 5 linijce zrodla strony
Go to the top of the page
+Quote Post
kitachi
post
Post #14





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 30.11.2006

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


witam
znalazłem, serdeczne dzięki (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 13:37