[PHP] Spouštění příkazů PHP událostmi JavaScriptu

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod sotha4ever 19. 7. 2005 17:25

Mám problém, týkající se přednosti PHP a JavScriptu. Potřebuji např. spustit nějaký php příkaz při události onClick a Php automaticky vykoná ten příkaz, aniž by kontroloval, zda byla splněna ta událost.

// Howard - upraven nazev
sotha4ever
Kolemjdoucí

Odeslat příspěvekod xshot 19. 7. 2005 18:31

Ahoj
myslím že možnost je, že při události onClick otevřeš pomocí JavaScriptu soubor php ve kterém budou příkazy, které chceš vykonat při dané události, na konec toho souboru dáš přesměrování zpět na stránku s JavaScriptem.

a Php automaticky vykoná ten příkaz, aniž by kontroloval, zda byla splněna ta událost. l/quote]

to jsem moc nepochopil :?

Xshot
It´s all about house music :o)
xshot
Kolemjdoucí
Uživatelský avatar

Odeslat příspěvekod Vebloud 19. 7. 2005 21:21

To jsi ovšem totálně nepochopil, jak funguje PHP. PHP se vykoná na straně srveru a to včetně příkazů napsaných v onclicku. Pro php je všechno klientské (HTML a JS) jenom text, který jde na výstup a vůbec nebere v potaz, že je tam nějákej JavaScript nebo ne, pro PHP je to prostě jenom výstup, nic víc. Z čehož vyplívá, že to budeš muset udělat jinak, protože tak jak si to představuješ to nepůjde.

xshot píše:to jsem moc nepochopil :?


Ono to totiž vypadá, že ten človíček napsal <tag ... onclick="<?php...n2co v PHP ?>" a myslí si, že se to vykoná jako událost.
Žít a nechat žít, ty máš svůj názor, já mám svůj názor, já ti nebudu nutit svůj, nemusím souhlasit s tvým, ale udělám vše, abys ho mohl svobodně vyjádřit.
Vebloud
Ex-moderátor
Uživatelský avatar

Odeslat příspěvekod sotha4ever 20. 7. 2005 18:44

rikam, jsem newbik, ale myslel sem to jinak: napr
<a onclick="<?php echo('history.go($a)') ?>">Ahoj</a>
Nemyslel jsem to takto:
<a onclick="<?php $++ ?>">Ahoj</a>
sotha4ever
Kolemjdoucí

Odeslat příspěvekod Lemur 20. 7. 2005 20:52

Je dulezite pochopit, ze PHP a Javascript jsou uplne odlisne. PHP je skript (=program), jehioz vystupem je ciste HTML (nebo obrazek nebo text, ale uz zadne PHP). Kdezto Javascript bezi na strane prohlizece. Takze z PHP souboru obsahujiciho


<a onclick="<?php echo('history.go($a)') ?>">Ahoj</a>

vyleze HTML obsahujici toto


<a onclick="'history.go('<obsah $a>') ">Ahoj</a>


Takze PHP v tom nema zadny vyznam mimo doplneni promene. Klidne by stacilo toto:

<a onclick="'history.go('<?=$a?>') ">Ahoj</a>


coz je o dost rychlejsi a prehlednejsi pri psani.
Lemur
VIP uživatel
Uživatelský avatar

Odeslat příspěvekod Vebloud 21. 7. 2005 08:56

Lemur píše:
Kód: Vybrat vše
<a onclick="'history.go('<?=$a?>') ">Ahoj</a>


coz je o dost rychlejsi a prehlednejsi pri psani.


Z čehož ale pořád vyleze:
Kód: Vybrat vše
<a onclick="'history.go('<obsah $a>') ">Ahoj</a>

(to je pro sotha4forever)
Žít a nechat žít, ty máš svůj názor, já mám svůj názor, já ti nebudu nutit svůj, nemusím souhlasit s tvým, ale udělám vše, abys ho mohl svobodně vyjádřit.
Vebloud
Ex-moderátor
Uživatelský avatar

Odeslat příspěvekod nevim.nevim 21. 7. 2005 11:09

Myslím, že problém je jinde než se zdá.
Kód: Vybrat vše
<a onclick="<?php echo('history.go($a)') ?>">Ahoj</a>

Tento kód nebude fungovat ze tří důvodů:
1) pozor na uvozovky! Pokud se řetězec uzavře do jednoduchých uvozovek (apostrofů), nevyhodnotí se v něm proměnné, proto je nutné použít tyto uvozovky "$a"
2) u tagu <a> chybi HREF, minimalne musi byt prazdny
3) jestli míníte přesměrování podle proměnné $a, použil bych toto:
Kód: Vybrat vše
<?php $a = "http://www.seznam.cz"; ?>
<a href="#" onClick="location.href='<?php echo $a; ?>';">text</a><br>

případně
Kód: Vybrat vše
<a href="#" onClick="<?php echo "location.href='$a';"; ?>">text</a><br>
nevim.nevim
Junior


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků