Keuze knoppen in PHP
maar dat werkt niet. Ik kan ook nergens iets vinden hoe je knoppen in PHP maakt. thanks
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Remote</title><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
#!/usr/local/bin/php -q
<script language="javascript">
lamp(on_off) {
if(on_off == 1)
{document.formulier.action = "lampon";
} else {
document.formulier.action = "lampoff";
}
document.formulier.submit();
}
</script>
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
error_reporting(E_ALL);
/* Allow the script to hang around waiting for connections. */
set_time_limit(0);
/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
ob_implicit_flush();
$address = '78.53.145.34';
$port = 6000;
if (($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) < 0) {
echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
}
if (($ret = socket_connect($sock, $address, $port)) < 0) {
echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
}
?>
error_reporting(E_ALL);
/* Allow the script to hang around waiting for connections. */
set_time_limit(0);
/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
ob_implicit_flush();
$address = '78.53.145.34';
$port = 6000;
if (($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) < 0) {
echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
}
if (($ret = socket_connect($sock, $address, $port)) < 0) {
echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
}
?>
</head>
<body bgcolor="#FFFFFF">
<center>
<form method="post" name="formulier">
<input type="button" value="LampOn" onclick="lamp(1)">
<input type="button" value="LampOff" onclick="lamp(0)">
</form>
Lamp is uit
<BR><BR>
</CENTER>
</body>
</html>
Gewijzigd op 03/02/2006 19:15:00 door Henk
maar dit werkt niet. Dus met andere woorden kan ik binnen een javascript functie PHP code aanroepen en hoe?
Ik wil op deze plaats (zie code) document.formulier.action = "lampon"; dit hebben PHP is server-sided, javascript client-sided. Je kan vanaf de client alleen maar communiceren met de server door pagina's op te vragen. Bijvoorbeeld het opsturen van een formulier of een adres in tikken, of via javascript via xmlhttprequest, beter bekent als AJAX.
Je zal dus gewoon een script moeten maken dat de aanvragen afhandeld, bijvoorbeeld via $_GET of $_POST, en een html-pagina die die pagina met de juiste paramteres opvraagt.
Dus iets in de zin van
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
//connectie met socket ed
$msg = $_POST['state'];
socket_write($sock, $msg, strlen($msg));
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
//connectie met socket ed
$msg = $_POST['state'];
socket_write($sock, $msg, strlen($msg));
}
?>
<form method="post">
<input type="radio" name="state" value="aan"/>Aan<br/>
<input type="radio" name="state" value="uit"/>Uit<br/>
<input type="submit"/>
</form>
Gewijzigd op 04/02/2006 11:37:00 door Jelmer -
Het gaat niet om een (echte) server maar om data via een UDP verbinding directe data te versturen, het is een een kleine controler (domotica) met directe socket toegang via UDP op poort bv 6000. dit werkt prima maar nu wil ik keuze knoppen voor de data. Dus [KNOP] Lampon [KNOP] LampOff en de verwijzen naar maar hoe gaat dit? thanks
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
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
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
<?php
error_reporting(E_ALL);
/* Allow the script to hang around waiting for connections. */
set_time_limit(0);
/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
ob_implicit_flush();
$address = '123.53.226.56';
$port = 6000;
if (($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP )) < 0) {
echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
}
if (($ret = socket_connect($sock, $address, $port)) < 0) {
echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
}
/* Send instructions. */
$msg = 'LAMPON';
socket_write($sock, $msg, strlen($msg));
socket_close($sock);
?>
error_reporting(E_ALL);
/* Allow the script to hang around waiting for connections. */
set_time_limit(0);
/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
ob_implicit_flush();
$address = '123.53.226.56';
$port = 6000;
if (($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP )) < 0) {
echo "socket_create() failed: reason: " . socket_strerror($sock) . "\n";
}
if (($ret = socket_connect($sock, $address, $port)) < 0) {
echo "socket_bind() failed: reason: " . socket_strerror($ret) . "\n";
}
/* Send instructions. */
$msg = 'LAMPON';
socket_write($sock, $msg, strlen($msg));
socket_close($sock);
?>
</body>
</html>