onclick i php

Tags:    php

hvordan kan man få udført noget php kode når en bruger klikker på et link? i javascript gøres det jo bare med en onclick event, men hvordan gøres det i php?

Det kan gøres ved en submit knap sådan her:

if (isset($_POST['tilmeld'])) {
.......
.......
}

Men hvordan klares det når der bare er tale om et almindeligt link?



9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
PHP er et serverside-sprog og du kan derfor ikke lave sådan noget i PHP. PHP er også det man kalder en preprocessor (deraf navnet Hypertext Preprocessor). Det tager noget kode, behandler det, og smider normal html ud på den anden side.



hvordan kan man få udført noget php kode når en bruger klikker på et link? i javascript gøres det jo bare med en onclick event, men hvordan gøres det i php?


Som udgangspunkt kan det ikke lade sig gøre - som Jonas også skrev.

Men der er en meget snæver og usikker smutvej: frames. Man kan lave en frame/iframe, som ikke kan ses. I denne ramme kan man fra f.eks. link åbne sider, som får informationer fra den første side med $_GET-variablen.

En iframe er mindre generende end en frame, og den er også sværere at snyde. Og endelig skal du jo huske, at JavaScript kan slåes fra i browseren.



I misforstår ham.

Du bruger GET (lidt ligesom Kristian sagde) - der på mange måder minder om POST.

Hvor POST sender variablerne "skjult", så sender GET dem i url - altså i selve linket.

Et eksempel kunne være

Fold kodeboks ind/udKode 


Læg mærke til ?-tegnet. Det betyder at der kommer GET-variabler. Her sender vi altså variable i med værdien 2.

For at få fat i værdien skriver du så i din php fil (her hedder den side.php) altså $_GET['i'] og det vil så resultere 2.



Indlæg senest redigeret d. 09.06.2006 14:25 af Bruger #8188
Lige en hurtig kommentar til Jonas og Kristian. Tsk. IFrames.
Ride the wave!



Ride the wave!


Er det serverside- eller klientsidescripting? Hvor godt er det understøttet?



I misforstår ham.


Det kan jeg egentligt godt se nu. Beklager.




Er det serverside- eller klientsidescripting? Hvor godt er det understøttet?


Både og.

Forestil dig du har et php-site. Hver side hedder *.php og der kører du de generelle funktioner igennem, henter nyheder fra databasen og skriver dem ud som html (f.eks. echo "<h1>$titel</h1>";).
Hver gang man skal se en ny side eller hente nyt indhold, opdaterer man siden.

Istedet for at udskrive data'erne i php til html, udskriver man dem som xml. Sådan her ser min xml fil ud:

Fold kodeboks ind/udKode 


Så har du en simpel, normal .html side. Fra denne side henter du med javascript indholdet fra xml-filen og med javascript kører du det igennem så det ser pænt ud. Da det er javascript der henter informationerne fra php, opdateres siden ikke. Flydende, brugervenligt information. Understøttes såmen af alle browsere, da det jo bare er javascript.

Eksempel på AJAX, af mig.



proprius hvor lærte du AJAX henne. Jeg har forsøgt at finde velformulerede tutorials (engelsk er helt fint), men uden held. Jeg synes ikke rigtigt W3school giver ngoet at tage fat på.



Hmm.. Altså, ajax er jo bare javascript og xml, så start med at læse nogle javascript artikler. Udvikleren har nogle udmærket.
Ellers brugte jeg meget AJAX: Getting started af mozilla.org og Mastering Ajax af Ibm.

Jeg har desuden lavet flere tråde på udvikleren om problemer jeg har haft (ingen af dem blev desværre løst på den måde, så kun efter flere lange nætter lykkedes det mig at løse dem)



t