Stap 4: Php-code.
[code]
< hr >
< center >
< H2 > Jet directe controle pagina < h3 >
< / center >
< hr >
< br >
<? php
/***********************************************************************************
* Network iets - php script.
* Originele idee van Praxis Doktor Andy
* (http://www.doktor-andy.de/joomla/index.php?option=com_content & task = view & id = 40 & Itemid = 52)
* Dit script is gemaakt door Jason Hensler (www.colddarkness.com)
* Dit script is vrijgegeven onder de GNU/GPL licentie.
********************************************************************************/
error_reporting (E_ALL); Foutrapportage voor dit foutopsporing inschakelen kan worden uitgecommentarieerd
/*if(isset($_POST['Submit'])) {}
* echo "< pre >";
* print_r($_POST);
* echo "< / pre >";
*}
*/
genereren van input gebruikersformulier
? >
< formulier-id = "form1" name = "form1" methode = "post" action = "" >
< p > Bits naar de afdrukserver te sturen: < br >
< label >< input type = "checkbox" name = "bit8" value = "true" / >< / label >
< label >< input type = "checkbox" name = "bit7" value = "true" / >< / label >
< label >< input type = "checkbox" name = "bit6" value = "true" / >< / label >
< label >< input type = "checkbox" name = "bit5" value = "true" / >< / label >
< label >< input type = "checkbox" name = "bit4" value = "true" / >< / label >
< label >< input type = "checkbox" name = "bit3" value = "true" / >< / label >
< label >< input type = "checkbox" name = "bit2" value = "true" / >< / label >
< label >< input type = "checkbox" name = "bits1" value = "true" / >< / label >
Reset alle < label >< input type = "checkbox" name = "resetall" value = "true" / >< label >
< br >
IP: < input name = "ip" value = "192.168.1.98" >
< input type = "button" value = "standaard" onclick="document.form1.ip.value ="192.168.1.98"" >< br >
POORT: < input naam = "poort" value = "9101" >< br >
< input type = "submit" naam = "Submit" value = "Verzend" / >
< input type = "reset" / >
< / form >
< br >
< br >
< hr >
Berichten:
< hr >
< br >
<?
if(isset($_POST['Submit'])) //check als de gebruiker het formulier verzonden
{
Als gebruiker submited gegevens heeft
Het ruwe poortnummer voor de afdrukserver
$service_port = $_POST ["haven"];
Het netwerkadres van de afdrukserver
Dit kan een IP-adres of een netwerknaam
$address = gethostbyname($_POST['ip']);
echo "";
echo "Maken socket...";
$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); socket maken of mislukken
Als ($socket === false) {}
echo "< br >< b > socket_create() is mislukt: reden:".
socket_strerror(socket_last_error()). "< /b > \n";
die();
} else {}
echo "OK. < br >";
}
echo "verbinding maken met de afdrukserver:". $address. "...";
$result = socket_connect ($socket, $address, $service_port); verbinding maken met de afdrukserver
Als ($result === false) {}
echo "< br >< b > socket_connect() mislukt. \nReason: ($result)".
socket_strerror(socket_last_error($socket)). "< /b > \n";
die();
} else {}
echo "OK. < br >";
}
$out = 0;
controleren om te zien welke selectievakjes zijn geverifieerd als hun bits waarde toevoegen aan $out
beetje num: 8 7 6 5 4 3 2 1
waarde: 128 64 32 16 8 4 2 1
if(isset($_POST['resetall']) {}
$out = 0;
//}
else {}
if(isset($_POST['bit8'])) {}
$out += 1;
}
if(isset($_POST['bit7'])) {}
$out += 2;
}
if(isset($_POST['bit6'])) {}
$out += 4;
}
if(isset($_POST['bit5'])) {}
$out += 8;
}
if(isset($_POST['bit4'])) {}
$out += 16;
}
if(isset($_POST['bit3'])) {}
$out += 32;
}
if(isset($_POST['bit2'])) {}
$out += 64;
}
if(isset($_POST['bit1'])) {}
$out += 128;
//}
}
if(isset($_POST['resetall'])) {}
$out = 0;
}
echo "Verzenden naar afdrukserver... < br >";
Sinds php geen byte type varables heeft en wil verzenden ascii via sockets
Wij gebruiken chr($out) voor het verzenden van de char met de overeenkomende waarde van de waarde die wij willen sturen
socket_write ($socket, chr($out), strlen(chr($out)));
socket_close($socket); Sluit de aansluiting
echo "verzonden! < br >";
}
? >
[/ code]