![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam funkcje ktora przyjmuje parametry i robi cos z nimi, na samym dole funkcji mam link i chce zeby po zajsciu zdarzenia onclick tego linku, funkcja wywolala sama siebie. probuje probuje i nie moge tego rozgryzc, w ogole nie chce mi dzialac, jak to zrobic? Kod function jakas($cos){
echo $cos; echo "<a href='#' onclick=\"jakas('tekst do wyswietlenia');\">klik</a> } Ten post edytował altar 28.07.2008, 02:03:36 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 170 Pomógł: 14 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
W swojej funkcji rekurencyjnie nie masz "momentu powrotu".
Dokładniej to co Ty napisałeś będzie się powtarzało w nieskończoność ponieważ nigdzie nie sprawdzasz czy funkcja ma się już przestać wykonywać. Niżej daje Ci przykład jak jest zrobione potęgowanie ![]() Chyba najczęściej spotykany przykład funkcji rekurencyjnej.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kod function jakas($cos){ echo $cos; echo "<a href='#' onclick=\"jakas('tekst do wyswietlenia');\">klik</a> } To nie jest funkcja rekurencyjna... to jest funkcja która wyświetla link... link, po kliknięciu którego uruchamia się funkcja Javascript o nazwie 'jakas'... Mieszasz php z javascriptem... dokształć się w jakich przestrzeniach działają skrypty php a w jakich javascript... Ten post edytował nowotny 28.07.2008, 09:50:35 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
moim zamierzeniem nie jest aby ta funkcja wykonywala sie w nieskonczonosc i chyba nie bedzie bo ona wywoluje sama siebie dopiero po kliknieciu w link i dokladnie o to mi chodzi, aby wywolala sama siebie po kliknieciu w link, z innymi parametrami.
co jest zlego w laczeniu php z javascript? czy ktos ma pomysl jak rozwiazac ten problem, z udzialem js lub nie. reasumujac chodzi mi o to aby po kliknieciu w link, zajsciu zdarzenia onclick lub innego ktore oferuje <form><input>, funkcja wywolala sama siebie z innymi parametrami, podanymi w value <input>'a. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
To nie ma nic wspólnego z rekurencją, a rozwiązanie wygląda tak:
Ten post edytował nexis 28.07.2008, 11:33:29 -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 10.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
panowie prosze o cierpliwosc i wyrozumialosc
![]() nexis: podales rozwiazanie ale to nie do konca jest to o co mi chodzi i nie umiem tego zastosowac do rozwiazania mojego problemu. konkretnie chodzi mi o to ze pisze klase ktora bedzie wyswietlac dane z bazy danych podanej jako parametr. i mam tam metode ktora pobiera z input'a ciag znakow(to ma byc mechanizm wyszukiwania rekordow z bazie) np. imie i na tej podstawie dynamicznie tworzy zapytanie sql, i wlasnie chodzi o to zeby po kliknieciu "szukaj", metoda wywolala sama siebie z tym nowym zapytaniem sql. krotko obrazujac, powiedzcie mi jak zrobic zeby kod ponizej zadzialal. Kod function jakas($cos){ echo $cos; echo "<a href='#' onclick=\"jakas('tekst do wyswietlenia');\">klik</a> } czyli wynik pozadany po wykonaniu ponizszego kodu Kod $tab= new grid; $tab->jakas("ble ble ble"); powinien wygladac nastepujaco: ble ble ble klik a po kliknieciu w "klik" tekst do wyswietlenia klik |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 15 Dołączył: 29.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli dane są z inputa to wywołanie odpowiedniej metody powinno pochodzić z buttona submit a nie z linka html, możesz zmienić metodę z POST na GET, jeżeli ta sama strona ma np obslugiwac linki z "popularnych wyszukan" w postaci http://strona.ta?searchphrase=motor
czemu tak ? - dane wejściowe i tak MUSISZ walidować po stronie serwera, inaczej narazisz się na ataki SQL Injection - blokada JS w przeglądarce nie może powodować zaniku funkcjonalności strony - formularz jest powszechnie przyjęta metodą obsługi wyszukiwania, jest poprawny składniowo - nie da się "uruchomić funkcji php z linka html" tak jak w JS, trzeba wysłac zapytanie do skryptu (w tym wypadku do tej samej strony (basename(__FILE__)) i przekazac dane metodą POST/GET - na takim poziomie zaawansowania odradzam stosowanie JS do celów innych niż ozdobniki, sprawdzenie niepustości pola przed wysłaniem, czy jakichś gadżetów typu sprawdzenie wielkości ekranu usera - formularz łatwo dostosować do opcji zaawansowanych (dokładna fraza, dowlone słowo, wszystkie słowa) i odpowiednio dobrać pattern a w końcu zapytanie SQL, że nie wspomnę już o udostępnieniu userom sortowania wyników (generalnie formularz = wiele danych i opcji za jednym klikiem) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 09:10 |