hey ho,
mein Problem ist für die meisten bestimmt eine banalität, ich beiße mir jedoch grade daran die zähne aus
und zwar habe ich ein script geschrieben das zur Online remotsteuerung von Öfen dient, soweit so gut, daten auslesen, daten senden, aktualisieren, alles funktioniert, nun gibt es aber noch grenzwerte, wie z.b. das man den ofen von aussen nicht zu hoch einstellen kann usw. deshalb möchte ich die geänderten werte onChange oder onBlur überprüfen leider schmeißt der browser mir jedoch nicht die alertbox raus, sondern lediglich den scriptquellcode wenn ich mir den seitenquellcode anzeigen lasse
mein scipt:
und hier der quelltext aus dem browser
mein Problem ist für die meisten bestimmt eine banalität, ich beiße mir jedoch grade daran die zähne aus
und zwar habe ich ein script geschrieben das zur Online remotsteuerung von Öfen dient, soweit so gut, daten auslesen, daten senden, aktualisieren, alles funktioniert, nun gibt es aber noch grenzwerte, wie z.b. das man den ofen von aussen nicht zu hoch einstellen kann usw. deshalb möchte ich die geänderten werte onChange oder onBlur überprüfen leider schmeißt der browser mir jedoch nicht die alertbox raus, sondern lediglich den scriptquellcode wenn ich mir den seitenquellcode anzeigen lasse
mein scipt:
PHP-Code:
<!DOCTYPE HTML>
<head>
<title>online-oven-Management</title>
<script type="text/javascript" language="javascript">
function cecktemp(){
var tocheck=document.oven.tartemp.value;
if(tocheck>85){
alert("temp to high !!! It has to be between -40 and 85 !!!");
}
if(tocheck<-40){
alert("temp to high !!! It has to be between -40 and 85 !!!");
}
}
</script>
</head>
<?php
$debug=1;
$maxtemp=(real)85;
$mintemp=(real)-40;
$maxhum=(real)100;
$minhum=(real)0;
$maxfan=(real)100;
$minfan=(real)0;
//$IP=gethostname();
$IP="de-oven-02";
$hiddenIP=$IP;
$buff="";
$alertform="";
$cel="[°C]";
$per="[%]";
$newtartempstr="";
$newtarhumstr="";
$newtarfanstr="";
if($debug===1){
ini_set('display_errors',1);
error_reporting(-1);
echo "first IP: $IP <br>";
}
function readOven($IP, $debug){
if($debug===1){
echo "readOven IP: $IP <br>";
}
$con=fsockopen($IP, 2049, $errno, $errstr);
if($con){
fputs($con, "\$01I\r");
$stream=stream_get_contents($con,131,0);
if($debug===1){echo "debug readOven: $stream <br>";}
fclose($con);
}else{
echo $errno . " ( " . $errstr . " ) ";
$stream="false";
}
return $stream;
}
function sendOven($newtemp, $newhum, $newfan, $buff, $IP, $debug){
$stream=explode(" ", $buff);
$sendstring=$newtemp . " " . $newhum . " " . $newfan . " " . $stream[8] . " " . $stream[9] . " " . $stream[10] . " " . $stream[11] . " " . $stream[14];
if ($debug===1){
echo "debug sendOven IP: $IP<br>";
echo "debug sendOven sendstring: $sendstring<br>";
echo "debug sendOven buff: $buff <br>";
for($i=0;$i<=14;$i++){
echo "debug sendOven stream[$i]: ". $stream[$i] . "<br>";
}
}
if($debug===0){
$con=fsockopen($IP, 2049, $errno, $errstr);
if($con){
fputs($con, "\$01E $sendstring\r");
fclose($con);
}else{
echo $errno . " ( " . $errstr . " ) <br>";
}
}
}
function getFormat($value, $debug){
$newform=sprintf("%1$06.1f", $value);
if ($debug===1){
echo "debug newform: $newform <br> var_dump(newform): ";
var_dump($newform);
echo "<br>";
}
return $newform;
}
if($_SERVER['REQUEST_METHOD']=="POST"){
if(($_POST['IP'])!=($_POST['hiddenIP'])){
$IP=($_POST['IP']);
$hiddenIP=($_POST['IP']);
$alertform="<tr><td colspan=4>If you change Oven<br>you have to resubmit the values<br>which you want to change</td></tr>";
}
else{
$IP=($_POST['IP']);
$hiddenIP=($_POST['IP']);
$buff=readOven($IP, $debug);
$newtartemp=(real)($_POST['tartemp']);
$newtarhum=(real)($_POST['tarhum']);
$newtarfan=(real)($_POST['tarfan']);
$newtartempstr=getFormat($newtartemp, $debug);
$newtarhumstr=getFormat($newtarhum, $debug);
$newtarfanstr=getFormat($newtarfan, $debug);
if(!empty($_POST['power'])){
$buff[99]="1";
}
if(!empty($_POST['humcon'])){
$buff[100]="1";
}
if(!empty($_POST['condprot'])){
$buff[101]="1";
}
/*if(empty($_POST['power')){
$buff[99]="0";
}
if(empty($_POST['humcon')){
$buff[100]="0";
}
if(empty($_POST['condprot')){
$buff[101]="0";
}*/
sendOven($newtartempstr, $newtarhumstr, $newtarfanstr, $buff, $IP, $debug);
}
}
$changetemp= "onBlur=\"checktemp()\"";
$buff=readOven($IP, $debug);
$tartemp=(real)substr($buff, 0,6);
$curtemp=(real)substr($buff,7,6);
$tarhum=(real)substr($buff,14,6);
$curhum=(real)substr($buff,21,6);
$tarfan=(real)substr($buff,28,6);
$curfan=(real)substr($buff,35,6);
$power=(int)substr($buff,99,1);
$humcon=(int)substr($buff,100,1);
$condprot=(int)substr($buff,101,1);
$reload="onclick=\"document.location=\'ovenmanagementv0_3.php\'\"";
$checked='checked="checked"';
$powercheck=($power===1) ? $checked: "";
$humcheck=($humcon===1) ? $checked: "";
$condcheck=($condprot===1) ? $checked: "";
echo <<< BODY
<body>
<p align="center"><span style="color:#00FF00">ONLINE-OVEN-MANAMENT</span></p>
<form method="POST" name="oven" action="ovenmanagementv0_3.php" align="center">
<table boarder=0 align="center">
<tr>
<td>Hostname</td>
<td colspan=3 align="center"><input name="IP" size=3 value=$IP></td>
</tr>
<tr>
<td colspan=4 align="center"><input type="hidden" name="hiddenIP" value=$IP></td>
</tr>
<tr>
<td></td>
<td></td>
<td>Target</td>
<td>Current</td>
</tr>
<tr>
<td>Temp</td>
<td>$cel</td>
<td><input name="tartemp" size=1 value=$tartemp $changetemp></td>
<td>$curtemp</td>
</tr>
<tr>
<td>Humidity</td>
<td>$per</td>
<td><input name="tarhum" size=1 value=$tarhum></td>
<td>$curhum</td>
</tr>
<tr>
<td>Fan</td>
<td>$per</td>
<td><input name="tarfan" size=1 value=$tarfan></td>
<td>$curfan</td>
</tr>
<tr>
<td>Power</td>
<td><input type="checkbox" name="power" $powercheck></td>
</tr>
<tr>
<td>Humidity Control</td>
<td><input type="checkbox" name="humcon" $humcheck></td>
</tr>
<tr>
<td>Condensation Prot.</td>
<td><input type="checkbox" name="condprot" $condcheck></td>
</tr>
<tr>
<td colspan=2><input type="submit" name="submit" value="Submit"></td>
<td><input type="button" name="reload" value="Refresh" $reload></td>
<td><input type="reset" name="reset" value="RESET"></td>
</tr>
$alertform
</table>
</form>
</body>
BODY;
?>
Code:
<!DOCTYPE HTML> <head> <title>online-oven-Management</title> <script type="text/javascript" language="javascript"> function cecktemp(){ var tocheck=document.oven.tartemp.value; if(tocheck>85){ alert("temp to high !!! It has to be between -40 and 85 !!!"); } if(tocheck<-40){ alert("temp to high !!! It has to be between -40 and 85 !!!"); } } </script> </head> first IP: de-oven-02 <br>readOven IP: de-oven-02 <br>debug readOven: 0025.0 0024.8 0000.0 0000.0 0100.0 0100.0 0000.0 0000.0 0000.0 0000.0 0000.0 0000.0 0000.0 0000.0 00010000010000000000000000000000 <br><body> <p align="center"><span style="color:#00FF00">NVIDIA-ONLINE-OVEN-MANAMENT</span></p> <form method="POST" name="oven" action="ovenmanagementv0_3.php" align="center"> <table boarder=0 align="center"> <tr> <td>Hostname</td> <td colspan=3 align="center"><input name="IP" size=3 value=de-oven-02></td> </tr> <tr> <td colspan=4 align="center"><input type="hidden" name="hiddenIP" value=de-oven-02></td> </tr> <tr> <td></td> <td></td> <td>Target</td> <td>Current</td> </tr> <tr> <td>Temp</td> <td>[°C]</td> <td><input name="tartemp" size=1 value=25 onBlur="checktemp()"></td> <td>24.8</td> </tr> <tr> <td>Humidity</td> <td>[%]</td> <td><input name="tarhum" size=1 value=0></td> <td>0</td> </tr> <tr> <td>Fan</td> <td>[%]</td> <td><input name="tarfan" size=1 value=100></td> <td>100</td> </tr> <tr> <td>Power</td> <td><input type="checkbox" name="power" ></td> </tr> <tr> <td>Humidity Control</td> <td><input type="checkbox" name="humcon" ></td> </tr> <tr> <td>Condensation Prot.</td> <td><input type="checkbox" name="condprot" checked="checked"></td> </tr> <tr> <td colspan=2><input type="submit" name="submit" value="Submit"></td> <td><input type="button" name="reload" value="Refresh" onclick="document.location=\'ovenmanagementv0_3.php\'"></td> <td><input type="reset" name="reset" value="RESET"></td> </tr> </table> </form> </body>
Kommentar