Toon posts:

[PHP] php code niet altijd aanroepen

Pagina: 1
Acties:
  • 40 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoe zorg ik ervoor dat php code die in een javascript functie zit niet aangeroepen wordt totdat die functie ook daadwerkelijk aangeroepen wordt?
Ik heb onderstaande code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<head>
<script name="JavaScript">
            function gooienVanDobbelsteen()
            {
                alert('Gegooid aantal ogen: <?php echo rand($x,$y); ?>');
                
                // BUG: Score wordt altijd verminderd als pagina refreshed wordt, niet alleen als dobbelsteen gegooid wordt!!
                <? $_SESSION['score']--;?>
                document.location = '<?php echo($_SERVER['PHP_SELF']); ?>';
                
                
            } 

</script>
</head>
<body>
<input type="button" value="Gooi dobbelsteen" onClick="gooienVanDobbelsteen();">
</body>
</html>


Het zou dus zo moeten zijn dat $_SESSION['score'] alleen verminderd wordt bij het aanroepen van gooienVanDobbelsteenI() maar dat gebeurt niet, die score wordt altijd als de pagina gerefreshed wordt verminderd.

Edit: oeps, topictitel moet beginnen met [PHP] en niet met [code]...

[ Voor 25% gewijzigd door Verwijderd op 21-01-2005 13:49 ]


  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Dat kan niet, PHP is een server-sided scripting taal (alles van PHP wordt op de server geparsed) en JavaScript is een client sided scripting taal. Die kan je niet zomaar door mekaar gebruiken.

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 07-12 20:20
PHP code draait op de server, niet in je browser! Javascript draait in je browser en niet op de server!

Dus PHP vult die waarden in, verstuurd de gehele pagina. Je zult het dus op een andere manier moeten aanpakken.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je wilt dus server-side (met PHP) iets wijzigen als je Client-side (met JS) iets uitvoert?
Gaat je dus niet lukken zonder postback naar de server :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:15

gorgi_19

Kruimeltjes zijn weer op :9

PHP is serverside, Javascript is clientside :) Javascript kan geen serverside code aanroepen, behalve door middel van de pagina opnieuw in te laden en te zorgen dat de serverside code op de server uitgevoerd gaan worden :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Dit topic is gesloten.