Autor | Zpráva | ||
---|---|---|---|
Geork Profil * |
#1 · Zasláno: 7. 6. 2009, 20:43:49
Zdravim,
nedari se mi zavolat funkce z a href <? function myFce($x) { //do something with $x echo"<a href="ZDE BYCH CHTEL VOLAT myFce($x)>"click here"</a>"; } ?> ~Jiri |
||
karbon Profil * |
#2 · Zasláno: 7. 6. 2009, 20:57:11
To, co jste napsal, znamená pouze deklaraci funkce. Vy ji potřebujete ale i zavolat. Také to, že voláte v těle funkce stejnou funkci se nazývá rekurze a je docela důležité si dávat na takové konstrukce pozor, protože mohou způsobit zacyklení. Ten kód bych napsal takto:
function x(){ // neco, co ta funkce provede... echo 'Funkce x je v akci!'; { // tady uz volani te nadeklarovane funkce echo 'Zavolame funkci: '.x().''; Také by bylo dobré ujasnit si, s jakým jazykem pracujeme. Tu funkci deklarujete nejspíše v jazyce PHP, ale volat byste ji chtěl v jazyce, který pracuje u klienta. Tu funkci chcete spouštět ihned po kliknutí u klienta? |
||
karbon Profil * |
#3 · Zasláno: 7. 6. 2009, 20:58:12
Omlouvám se, ten kód obsahuje špatnou závorku. Správně je to takto:
function x(){ // neco, co ta funkce provede... echo 'Funkce x je v akci!'; } // tady uz volani te nadeklarovane funkce echo 'Zavolame funkci: '.x().''; |
||
fuckin Profil * |
#4 · Zasláno: 7. 6. 2009, 21:20:40
geork
To echo ti patri jeste do te funkce, nemuzes volat uvnitr funkce tu samou funkci ktera jeste neni nadeklarovana.... karbon Podiv se poradne, kdyz chce generovat url tak asi na strane serveru ne? :D...neplet tu js a jeho udalosti... |
||
AM_ Profil |
#5 · Zasláno: 7. 6. 2009, 21:32:36
fuckin
„To echo ti patri jeste do te funkce, nemuzes volat uvnitr funkce tu samou funkci ktera jeste neni nadeklarovana....“ ne? a jak je pak možné psát rekurzivní funkce? Geork O co vlastně usiluješ? chceš, aby se do href="" zapsal dynamicky vytvořený odkaz pomocí té funkce, nebo aby se při kliknutí na odkaz zavolala ta funkce (což takhle přímo nejde)? jinak php se otvírá pomocí <?php, <? je takzvaný short_open_tag, který způsobuje jedině problémy. |
||
Geork Profil * |
#6 · Zasláno: 7. 6. 2009, 21:47:45
Diky za rychlou reakci, ale nevim zda je to presne to co chci. Cilem je vypsat vsechny podadresare (jako "link-y")ze zvoleneho adresare, a kdyz na nektery kliknu otevrou se mi adresare ktere jsou ve zvolenem adresari, proto ta rekurze ;-).
|
||
Geork Profil * |
#7 · Zasláno: 7. 6. 2009, 21:50:53
...... uz jsem to castecne rozjel
fuckin: "To echo ti patri jeste do te funkce, nemuzes volat uvnitr funkce tu samou funkci ktera jeste neni nadeklarovana.... " - jsem si jisty ze muzu. |
||
Geork Profil * |
#8 · Zasláno: 7. 6. 2009, 21:58:23
AM_ "....O co vlastně usiluješ? chceš, aby se do href="" zapsal dynamicky vytvořený odkaz pomocí té funkce, nebo aby se při kliknutí na odkaz zavolala ta funkce (což takhle přímo nejde)? "
- Usiloval jsem o to, aby se po kliknuti zavolala funkce |
||
AM_ Profil |
#9 · Zasláno: 7. 6. 2009, 22:04:05
„- Usiloval jsem o to, aby se po kliknuti zavolala funkce“
takhle to nejde. PHP se provede při načtení stránky na straně serveru a v době, kdy už si uživatel vesele prohlíží výslednou HTML stránku, po běhu PHP skriptu není ani památky. Takže odkaz by měl vypadat nějak takhle: echo '<a href="vypis.php?adr='.urlencode($adresar).'">'.$adresar.'</a>'; přičemž adresář se nevypisuje funkcí, ale skriptem vypis.php. |
||
Geork Profil * |
#10 · Zasláno: 7. 6. 2009, 22:09:28
"takhle to nejde. PHP se provede při načtení stránky na straně serveru a v době, kdy už si uživatel vesele prohlíží výslednou HTML stránku, po běhu PHP skriptu není ani památky. Takže odkaz by měl vypadat nějak takhle:
1 echo '<a href="vypis.php?adr='.urlencode($adresar).'">'.$adresar.'</a>'; přičemž adresář se nevypisuje funkcí, ale skriptem vypis.php." souhlas, k necemu takovemu jsem se nakonec dopracoval. |
||
Geork Profil * |
#11 · Zasláno: 7. 6. 2009, 22:22:40
Diky za pomoc vsem vyse zucastnenym.
|
||
Časová prodleva: 15 let
|
0