[PHP] functie aanroepen dmv plaatje

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
2
3
<a href="test.php?test=1">[img]"../images/eye.png"></a>
<a[/img][img]"../images/eye.png"></a>
<a[/img][img]"../images/eye.png"></a[/img]

Zodra één van de plaatjes eye wordt aangeklinkt, wordt de pagina test.php opnieuw geladen, maar ditmaal met als achtervoegsel test=... . Vervolgens wordt gekeken of er een variable $_GET['test'] is. Als dat het geval is, wordt er een functie aangeroepen: functie($_GET['test']);

Dit is nogal omslachtig. Nu vroeg ik me af of het niet mogelijk is om zodra er op het plaatje geklikt wordt, de functie met bijbehorende parameter uit te voeren zonder dat de pagina opnieuw geladen moet worden? De functie is een php script.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Dit is nogal omslachtig. Nu vroeg ik me af of het niet mogelijk is om zodra er op het plaatje geklikt wordt, de functie met bijbehorende parameter uit te voeren zonder dat de pagina opnieuw geladen moet worden?
Hoe wel je een serverside actie laten uitvoeren zonder een call naar de server te maken?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 31-08 10:22

JayVee

shibby++!

Wat je kunt doen is een hidden iframe refreshen met als url test.php met de gewenste parameter. Zo heeft de user geen last van page flickering. Het aanroepen van de functie moet wat PHP betreft nog steeds op die manier die je net hebt beschreven denk ik.
Daar brengt ook iets als Ajax niets nieuws in.

ASCII stupid question, get a stupid ANSI!


Acties:
  • 0 Henk 'm!

  • foske
  • Registratie: Juli 2001
  • Laatst online: 08:20
kan makkelijker
maak een javascript functie die een plaatje vervangt. in pseudo code (omdat het laat is ben ik niet zo 'opzoekerig' ;))
onClick()
{
img.url='test.php?test=1';
}

met deze klik zal er dus het plaatje test.php aangeroepen worden en op de plaats van image img gezet worden. Hiermee heb je dus al een aanroep naar een php pagina.
Waar je dan voor moet zorgen is dat in php jouw functie zit, en dan aan het einde van de php een image terug sturen. (is ook wel genoeg over te vinden op de php site of hier). Dit kan bijvoorbeeld gewoon een spacer image zijn van 1x1 pixels. daar zie je dus nix van, en heb je toch met je klik een request naar de server gestuurd.

hoop dat ik niet te vaag klink, anders zal ik het morgen wat verder uitschrijven :)

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

Het javascript image-object biedt misschien ook wel perspectieven:
JavaScript:
1
2
3
4
5
6
var img;
function clickhandler(item)
{
  img = new Image();
  img.src = 'test.php?test='+item+'&random='+(new Date.getTime()); // anti-cache
}

Laat je test.php gewoon een 1x1 pixel image terugsturen na de verwerking. Geen ingewikkelde xmlHTTPrequests of iframes nodig en zou zelfs in wat oudere browsers moeten werken mits javascript enabled is (maar dat heb je voor andere technieken ook nodig).

Edit: het idee van Fossie dus, maar met het verschil dat het plaatje niet eens in je document hoeft te bestaan ;)

[ Voor 12% gewijzigd door crisp op 11-04-2005 23:47 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • foske
  • Registratie: Juli 2001
  • Laatst online: 08:20
Ah, jouw 'on-the-fly' Javascript is iets beter dan dat van mij ;) (alleen wat langzamer :p)

Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 16:14

pietje63

RTFM

Clientside, javascript, div's showen en verbergen?

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

Verwijderd

hm, zag dat hier net ook al ergens naar gevraagd werd. Wat je moet doen is gewoon een functie in js maken die een script element aanmaakt en daarin een extern php bestand aanroept. Zo kan je onclick of met href="javascript:function()" de javascript functie aanroepen die het php script voor je include (zonder te refreshen). Die techniek werkt echt lekker en je kan je pagina structuur er drastisch door verbeteren.
Pagina: 1