javascript combineren met php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Elmar

elmar

07/08/2006 19:37:00
Quote Anchor link
Hey allemaal,

ik heb research gedaan op het net, maar ik kom er niet meer uit.

Zoals bijna iedereen wel weet is php een server-side taal en javascript client-side.

maar hoe combineer ik die 2?
nu is het probleem niet om php met javascript te combineren maar anders om juist wel.

ik zal het simpel uitleggen wat mijn probleem is:

In de browser gebruik in een JS met de code:

function p_plus1(c){
myElement = document.getElementById('l1');
if(myElement != null)
{
p = myElement.innerHTML.split("/");
start = parseInt(p[0]);
m1 = start;
max = parseInt(p[1]);
prod = myElement.title/3600;
if(start != max)
{
setTimeout("p_plus1(0)", 1/prod*1000);
if(c == 0){myElement.innerHTML=start+1 + "/" + max;}
}}}

deze haalt de waarde op uit de browser en voert het uit, het probleem is dat JS client-side is en niet server side, want ik wil namelijk deze functie in php zetten, op de zelfde manier dus gebruiken, maar ik heb dus geen flauw idee hoe ik het kan/moet combineren of omzeilen.

ik kreeg de info mee over ajax, maar volgens mij verhelpt dat mijn probleem nog niet.

in nog simpele woorden over wat ik zoek met bovenstaande script:
Hoe kan ik clientside gegevens opvragen zodat ik het serverside kan uitvoeren
 
PHP hulp

PHP hulp

17/11/2024 09:45:26
 
PHP erik

PHP erik

07/08/2006 19:40:00
Quote Anchor link
Als je het serverside wil uitvoeren dan moet het sowieso naar je server gestuurd worden - eens?

Hoe stuur je iets naar je server? Met een POST of GET. - eens?

Gebruik van POST of GET betekent dus dat er opnieuw een connectie met de server gemaakt moet worden want die is er niet meer zodra de site staat - eens?

Hoe maak je een connectie met je server? Refresh (formulier verzenden / GET variabelen) of met AJAX.

AJAX doet in principe hetzelfde als een refresh alleen is het onzichtbaar en is er geen refresh voor nodig.

Genoeg info?
 
Elmar

elmar

07/08/2006 19:47:00
Quote Anchor link
ik ben het eens met je eerste 3 punten, over die andere 2 kan ik weinig zeggen, want ben niet bekend met ajax.
vandaar ook dat ik mij net heb geregistreerd omdat ik net een link kreeg, maar er nog niet echt wijzer van word :p

je zegt dat ajax in principe het zelfde is als een refresh en ontzichtbaar is

moet ik dan denken aan een textfield die hidden is?

je kunt namelijk met javascript de title opvragen van een TD, maar met php volgens mij niet.

dus vandaar ook mijn probleem, dat ik het nog niet snap
 
PHP erik

PHP erik

07/08/2006 19:51:00
Quote Anchor link
De reden dat je zo'n naam niet kan opvragen met PHP is omdat dat nergens op zou slaan aangezien HTML output is en pas uitgevoerd wordt als PHP al klaar is met zijn taak.

AJAX werkt als volgt. Een Javascript-functie maakt een connectie met een extern bestand (bijvoorbeeld een .php bestand). Hetgeen normaal op je scherm geprint wordt, dus de HTML die het bestand retourneerd, wordt nu in een Javascript-variabele gestopt. Die kun je dus zo met innerHTML ergens in een DIV laden, waardoor je geupdate informatie hebt.

Dus:

index.php:
html -> onClick (whatever) -> javascript (ajax) -> extern.php -> javascript (innerhtml) -> html (zichtbaar op scherm)

extern.php:
echo 'blahblah, dit wordt ingeladen in index.php in een div';


Snap je een beetje m'n uitleg of moet ik gaan smijten met allemaal inkjes met informatie :p ?
Gewijzigd op 01/01/1970 01:00:00 door PHP erik
 
Elmar

elmar

07/08/2006 19:56:00
Quote Anchor link
ik snap wat je bedoeld, tenminste... denk ik :p

stap 1: php -> serverside
stap 2: javascript/html -> clientside
stap 3: browser

lijkt me logisch
maar goed, ik vat nog niet helemaal hoe ik dan stap 3 weer terug kan brengen naar stap 2 of 1

hehe, dit word voor mij nog een hele klus om dit bij te leren :p
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.