Javascript dat een php script iets laat weergeven?

Status
Niet open voor verdere reacties.

lordstyx

Gebruiker
Lid geworden
21 dec 2009
Berichten
15
Hallo allemaal,
ik ben niet echt zo super met Javascript, en zit nu dan ook met een behoorlijk probleem. Laat me even de situatie schetsen.
Ik ben een website aan het maken, waarbij gebruikers een stukje javascript voor hun website kunnen laten genereren, waardoor er iets van mijn server wordt laten zien op hun website. Het genereren van die code is geen probleem, het zit hem in de onderliggende code. Ik heb geen idee wat voor script ik moet maken dat de gebruikers op hun eigen website zetten, en dat dan via bepaalde variabelen die met die code zijn gegenereerd data van mijn server opvraagt.
Ik weet zeker dat het mogenlijk is, ik heb echter geen idee hoe ik bijvoorbeeld die variabele uit de javascript over naar de pagina op mijn server krijg, om zo de juiste inhoud te tonen.
Bij een werkend iets dat hetzelfde doet, werdt deze code voor mij gegenereerd:
Code:
<script language="javascript" type="text/javascript" charset="utf-8">
var border = '#000000';
id = 1337;
</script>
<script language="JavaScript" type="text/javascript" src="http://somesite.com/scriptname.php">
</script>
Het zou leuk zijn als ik het script daar kon zien, maar dat gaat helaas niet.

Daarom vraag ik me af of iemand me kan helpen met dit probleem.
Als ik niet duidelijk genoeg ben geweest, vraag alsjeblieft wat je wilt weten :thumb:

Bij voorbaat dank, lordstyx.


[edit]

Ik denk dat ik dit kan bereiken dmv 'AJAX'.
 
Laatst bewerkt:
Ha!

Zoals je het al zegt, zul je hier, als ik goed begrepen heb wat je wilt doen, AJAX moeten gebruiken. Dit kun je het gemakkelijkste doen met jQuery. Ik weet niet of je al een beetje ervaring hebt met jQuery, zoja, ga dan eens hier naar toe voor meer informatie.

Alleen als je jQuery gebruikt, zul je die ook moeten laden op de pagina van de gebruikers, wat niet ideaal is omdat het zo'n 50kb extra is. Je kunt daarom ook gewoon Ajax gebruiken. Kijk hier voor meer informatie daarover. Kom je er niet uit, laat het dan even weten.

Maar wat mij nog een makkelijkere manier lijkt, is om de variabelen gewoon als een GET var aan de URL toe te voegen. Dus, als 'src' zou je het volgende kunnen gebruiker:

http://somesite.com/scriptname.php?border=000000&amp;id=1337
of server-side:
http://somesite.com/scriptname.php?border=<?=$border?>&amp;id=<?=$id?>

Dit werkt alleen als je de variabelen door middel van PHP krijgt. Als ze javascript-gegenereerd zijn, werkt deze methode niet. Dan zul je toch Ajax moeten gebruiken.

Succes ermee!

Groetjes,

Kaj-Ivar
 
HTML:
<script language="javascript" type="text/javascript" charset="utf-8">
var border = '#000000';
id = 1337;
</script>
<script language="JavaScript" type="text/javascript" src="http://somesite.com/scriptname.php">
</script>
het doel hiervan is zoiets: je php echoed een script, dat werkt met de variabeles border en id. Bijvoorbeeld:
PHP:
echo "document.write('border is ' + border + ' en id is ' + id);";
wat dus het javascript maakt:[JS]document.write('border is ' + border + ' en id is ' + id);[/JS]wat dus de zin op je html pagina write:
border is #000000 en id is 1337
Omdat je php gebruikt, kan je dus gewoon dingen van je server verkrijgen. Als voorbeeld, de servertijd:
PHP:
echo "document.write('border is ' + border + ' en id is ' + id + '<br />de server tijd is: " . Date("h:i:s", Time()) . "');";
Het is wel erg klooien met de quotes (het kan zijn dat ik een fout heb gemaakt maargoed).

:thumb:
 
Heej hardstikke bedankt :D
Ik had het allemaal zelf al gevonden, en het werkt nu :thumb:

Nog een vraag echter:

Ik heb een div met text, ik wil 2 buttons maken (< en >). Als je dan op > klikt, krijg je het volgend stukje text te zien. Als je dan op < klikt krijg je het vorrige stukje tekst te zien.
Enig idee hoe ik dit zou moeten doen? Ik heb wel een idee, maar dat zou betekenen dat ik alle stukken text van te voren moet hardcoden op de pagina, en dan alles een id geven, bij het klikken van een button dan de style naar hidden veranderen oid.

Ik denk dat dat wel zou gaan, maar dat zou redelijk lang worde, kan dit ook dynamisch? De tekst komt via php uit een database btw.
 
Ik zit alleen wel met een probleempje =/
Omdat de text uit een database kom, moet ik een index hebben, voor welke text momenteel wordt laten zien, zodat ik in een query bijvoorbeeld LIMIT 4 , 10 of LIMIT 5, 11 kan doen.
Iemand een idee hoe dit kan? Want ik kan natuurlijk niet de parameters van de functie die onClick aanroept veranderen. Of wel?

onClick="next(1);" veranderen in onClick="next(2);" bij het updaten van de text?
 
Je kunt een globale variabele gebruiken.

[JS]

var index = 0;

function next() {

index++;
//xmlHttpRequest object maken, etc

xmlHttp.open("GET", "url.php?index=" + index, true);

//afhandeling

}

[/JS]

snap je?
 
Ah xD Als ik had geweten dat dat kon in javascript :rolleyes:

Thanks man :thumb:
 
Ok. Dit is raar:

Code:
<script>
					var index=0;
					function prev() {
						if (index == 0) {
							alert('Can't go back.');
							return
						}
						index--;
						chngObjextText(1, decodeURIComponent(getUrlVars()["b4"]), 'title&i=' + index + '&uid=' + getUrlVars()["uid"] + '&sid=' + getUrlVars()["sid"] + '&zid=' + getUrlVars()["zid"]);
					}
					function next() {
						index++;
						chngObjectText(1, decodeURIComponent(getUrlVars()["b4"]), 'title&i=' + index + '&uid=' + getUrlVars()["uid"] + '&sid=' + getUrlVars()["sid"] + '&zid=' + getUrlVars()["zid"]);
						alert(index);
					}
				</script>
Heb de functies abstract gemaakt, maakt niet uit.
Maar, als ik nu op de next knop druk, en blijf drukken, dan werkt het prima en zie ik index netjes groter worden.
Zodra ik echter op previous druk, zegt ie dat index 0 is!
Weer op next drukken maakt index weer 1 =/
In feite reset previous index dus naar 0, in plaats van deze 1 kleiner te maken.
Iemand een idee?
 
Hmm, dat is zeker raar.

Geeft de foutconsole van Firefox (of Firebug) toevallig ook fouten aan?
 
Wow! Das handig xD Fout gevonden, typo in functie call:
Code:
chngObjextText
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan