Keuze knoppen in PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Henk

Henk

03/02/2006 19:13:00
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?socket_write($sock, $msg, strlen($msg));?>
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)
PHP script in nieuw venster Selecteer het PHP script
1
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";
}



?>

</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
 
PHP hulp

PHP hulp

29/03/2024 08:16:38
 
Henk

Henk

04/02/2006 11:21:00
Quote Anchor link
Ik wil op deze plaats (zie code) document.formulier.action = "lampon"; dit hebben
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?socket_write($sock, $msg, strlen($msg));?>
maar dit werkt niet. Dus met andere woorden kan ik binnen een javascript functie PHP code aanroepen en hoe?
 
Jelmer -

Jelmer -

04/02/2006 11:37:00
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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));
}

?>

<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 -
 
Henk

Henk

04/02/2006 12:05:00
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?socket_write($sock, $msg, strlen($msg));?>
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);

?>

</body>

</html>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.