Keuze knoppen in PHP
Hallo, ik wil met de volgende code binnen het javascript een PHP functie aanroepen maar dit lukt niet erg. Op de plaats van document.formulier.action = "lampon"; wil ik nu
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>
</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>
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
Gesponsorde koppelingen:
Ik wil op deze plaats (zie code) document.formulier.action = "lampon"; dit hebben maar dit werkt niet. Dus met andere woorden kan ik binnen een javascript functie PHP code aanroepen en hoe?
How, even van voren af aan beginnen:
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
<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>
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 rrrr
Deze code werkt.
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">
</body>
</html>
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>



