ugrás a tartalomhoz

Különálló JS fájl és php közti kapcsolat, változóátadás

nyakas · 2012. Már. 18. (V), 12.40
Sziasztok!
Egy olyan problémám lenne, hogy egy javascriptben lévő változót szeretnék átküldeni a php-nak, hogy az mentse ki a tartalmát a szerveren egy textfile-ba. Az első php fájl nem valami nagy egyelőre, egy kiíratás és meg van benne hívva egy javascipt:
<head>
<script type="text/javascript" src="timePage.js"></script>
<body onload='window.setInterval("timeHere()", 100)' onUnload="sayTime()">

<?php	
	print("pamparampampam" ); 
?>
</body>
</head>
A meghívott javascipt a következő:
var time=1;
var usertime=0;
function timeHere() {
  time = time + 1;
  finalTime = time / 10;
}

function sayTime() {
  finalTime = time / 10;
  alert("Thank you for coming to my site! \n You have been here " + finalTime + " seconds!");
  function sm(id)
}
A harmadik php kód meg a javascriptben szereplő finaltime változó értékét kapná meg, és mentené ki egy txt fájlba:
<?php
$time=$_POST['ido']

$f = fopen("textfile.txt", "w");
	
	fwrite($f, $ido ); 
	fclose($f);

?>
A kérdésem tehát az lenne hogy hogy érem el, hogy a javascript elküldje a php-nak a finaltime változó értékét, és lementse a szerveren egy fájlba? Esetleg ha a példára vonatkozó kódrészletet tudnátok írni, azt nagyon megköszönném. Bocs, tudom hogy eléggé kezdő kérdés, de sajna eléggé kezdő szinten vagyok még ezzel kapcsolatba.
Köszönöm előre is a segítségeteket!
További szép napot! :)
 
1

keresgélj arra, hogy ajax

rrd · 2012. Már. 18. (V), 13.05
keresgélj arra, hogy ajax
2

GET, POST

Poetro · 2012. Már. 18. (V), 14.12
Készíthetsz egy űrlapot, és azt JavaScripttel el tudod küldeni, legyen a metódusa akár get, akár post. Vagy betölthetsz egy képet, vagy egy másik script fájlt JavaScripttel, ekkor ennek majd a get paraméterben tudod átadni a változódat. Ha ezek egyike sem felel meg, akkor érdemes utánanézni az AJAX-nak, ami a fentieknél jóval bonyolultabb erre a feladatra.
3

form-mal megoldani

nyakas · 2012. Már. 18. (V), 14.21
Most arra gondoltam, hogy egy formba beillesztve elküldöm az iro.php-nak, ami a fájlba írásért felelős, viszont azt nem tudom hogy hogyan adom be a value értékébe, hogy a finalTime változó értékét szeretném elküldeni. Meg lehet valahogy oldani? Ajax-ot nem nagyon akarok erre a feladatra használni, úgy gondolom megbonyolítaná a dolgot a nagyon kezdő tudásomnak.
<form method="GET" action="iro.php">
<input type="hidden" id="i1" name="i1" value=>
</form>
4

DOM gyorstalpaló

Poetro · 2012. Már. 18. (V), 14.39
Ajánlom, ugorj neki egy DOM gyorstalpalónak. Először is, ki kell választanod az űrlapot, amit majd el akarsz küldeni. Ebben ki kell választanod az űrlapmezőt, aminek módosítani szeretnéd a value értékét, majd módosítod a value tulajdonságát ennek a kiválasztott elemnek. És végül elküldöd az űrlapot úgy, hogy a kiválasztott űrlap elemnek meghívod a submit metódusát.

Maga a DOM egy elég nagy téma, de ha JavaScrittel akarsz foglalkozni a böngészőben, akkor elkerülhetetlen. Ajánlom, vegyél meg egy könyvet a témában, vagy nézz meg rengeteg ingyenes tutorial-t, ebookot stb. Nem mondom, hogy ezt könnyű lesz elsajátítani.
5

Ehhez egy ID-t érdemes

goph-R · 2012. Már. 18. (V), 14.40
Ehhez egy ID-t érdemes hozzárendelni a formhoz egyszerűsítés végett:

<form id="form_id_ja" method="GET" action="iro.php">  
<input type="hidden" id="i1" name="i1" value="">  
</form> 
majd így tudod javascript-ben megadni az "i1" értékét:

var f = document.getElementById('form_id_ja');
f.i1.value = 'érték';

// form elküldése
f.submit();
...és szerintem fogadd meg Poetro tanácsát ;)
6

működik

nyakas · 2012. Már. 18. (V), 15.02
Köszönöm szépen, így most működik, ha frissítem a weboldalt, viszont ha ellépek onnan pl a google-re, akkor nem fut le, viszont ha a localhoston mást hoznék be, akkor az iro.php-t hozza be felparaméterezve a finalTime értékével, tehát még van mit csinálgatni rajta, de legalább már van valami, ami működik. Poetro tanácsát megfogadom, köszönöm szépen, még egyszer :)