Transmitere parametrii PHP - JavaScript

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
Ency
Mesaje:4

Transmitere parametrii PHP - JavaScript

Acum incerc sa ma familiarizez cu JavaScript. Exemplele pe care le-am studiat, in mare, le-am inteles asa ca am vrut sa-mi scriu primul script de test.
In principiu am creat 2 contoate pe ecran pe care sa le incrementez fie cu 1 fie cu 10. Daca incrementez cu 1 e perfect, dar la a doua incrementare nu face nimic. La incrementarea cu 10, insa, incrementeaza cu 11 (face si incrementarea cu 1), iar daca incrementez 11 inca o data cu 1 imi afiseaza 1. Cred ca e o problema de transmiterea parametrilor sau poate trebuie sa incarc din nou pagina (dar nu stiu cum). Ma poate sfatui cineva?
Programul meu arata astfel:

Cod: Selectaţi tot

<html>
<head>
 <script type="text/javascript">
  function adstg(x){
   var stg = document.getElementById("scstg");
   stg.innerHTML=x;}
  function addr(x){
   var dr = document.getElementById("scdr");
   dr.innerHTML=x;}
</script>
</head>
<body>
<?php
 $scstg=$scdr=0;
 echo '<font size="48"><span id="scstg">'. 0 .'</span> - <span id="scdr">'. 0 .'</span><br></font>';
 echo '<input type="button" value="Stinga+1" onclick="adstg('.++$scstg.')" />';
 echo '<input type="button" value="Dreapta+1" onclick="addr('.++$scdr.')" /><br>';
 echo '<input type="button" value="Stinga1+10" onclick="adstg('.$scstg=$scstg+10 .')" />';
 echo '<input type="button" value="Dreapta1+10" onclick="addr('.$scdr=$scdr+10 .')" />'
?>
</body>
</html>
Va multumesc.

MarPlo Mesaje:4343
Salut
Pentru a incrementa si afisa in pagina niste numere nu e nevoie de php daca nu trebuie salvate. Poti incerca doar cu javascript.
Codul tau nu poate functiona fiindca php se executa pe server inainte de afisarea paginii, iar javascript dupa afisarea paginii, in browser, fara sa mai aibe dupa aceea vreo legatura cu php.
Ca sa executi un cod php prin javascript, si sa transmiti date intre ele, se foloseste Ajax (e un curs ajax pe site).