PHP-functie aanroepen in JavaScript
Ik hoop daarom dat jullie me wel kunnen helpen en zal daarom aan de hand van een vereenvoudigd voorbeeld-script proberen duidelijk te maken wat ik bedoel.
(Bij het uittesten alleen even "hostnaam" in "$ip = gethostbyname('[hostnaam]');" vervangen door je eigen server-naam, tenminste, als je die hebt.)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
$ip_zelf = getenv(REMOTE_ADDR);
$ip = gethostbyname('[hostnaam]');
function schrijf_getal_1()
{
$file_open = fopen("data/log","w");
fwrite($file_open,"1");
fclose($file_open);
}
if ($ip_zelf == $ip)
{
schrijf_getal_1();
echo "Er is nu net een \"1\" naar \"data/log\" geschreven, zodat de bezoeker met een ander ip-adres de mededeling krijgt dat ik momenteel dezelfde pagina bekijk.<br><br>Als ik het venster sluit wordt er een \"0\" naar \"data/log\" geschreven zodat de bezoeker met een ander ip-adres de mededeling krijgt dat ik niet (meer) dezelfde pagina bekijk.";
echo "<script language=\"javascript\">\n";
echo "var exit=true;\n";
echo "function out(){\n";
echo "if(exit)schrijf_getal_0;}\n";
echo "onunload=out\n";
echo "</script>\n";
}
elseif ($ip_zelf != $ip)
{
$file_open2 = fopen("data/log","r");
$getal = fgets($file_open2, 45);
fclose($file_open2);
if ($getal == 1)
{
echo "De server bekijkt momenteel dezelfde pagina.";
}
if ($getal != 1)
{
echo "De server bekijkt momenteel niet dezelfde pagina.";
}
}
?>
$ip_zelf = getenv(REMOTE_ADDR);
$ip = gethostbyname('[hostnaam]');
function schrijf_getal_1()
{
$file_open = fopen("data/log","w");
fwrite($file_open,"1");
fclose($file_open);
}
if ($ip_zelf == $ip)
{
schrijf_getal_1();
echo "Er is nu net een \"1\" naar \"data/log\" geschreven, zodat de bezoeker met een ander ip-adres de mededeling krijgt dat ik momenteel dezelfde pagina bekijk.<br><br>Als ik het venster sluit wordt er een \"0\" naar \"data/log\" geschreven zodat de bezoeker met een ander ip-adres de mededeling krijgt dat ik niet (meer) dezelfde pagina bekijk.";
echo "<script language=\"javascript\">\n";
echo "var exit=true;\n";
echo "function out(){\n";
echo "if(exit)schrijf_getal_0;}\n";
echo "onunload=out\n";
echo "</script>\n";
}
elseif ($ip_zelf != $ip)
{
$file_open2 = fopen("data/log","r");
$getal = fgets($file_open2, 45);
fclose($file_open2);
if ($getal == 1)
{
echo "De server bekijkt momenteel dezelfde pagina.";
}
if ($getal != 1)
{
echo "De server bekijkt momenteel niet dezelfde pagina.";
}
}
?>
Het probleem waar ik nu tegenaan loop is dat de opdracht te schrijven naar "data/log" wel lukt als ik de PHP-functie in PHP aanroep, maar als ik dat doe in JavaScript lukt dat niet.
Weten jullie misschien een manier waarop een PHP-functie toch een JavaScript aanroep accepteert, of anders een manier waarop ik in geheel PHP een bestand kan laten schrijven naar aanleiding van het sluiten van een venster?
Gewijzigd op 06/07/2004 22:01:00 door Harald
Er zijn nog geen reacties op dit bericht.