php WebInterface Taster

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Antworten
mfreye
Beiträge: 237
Registriert: 22.12.2007, 08:01

php WebInterface Taster

Beitrag von mfreye » 04.12.2010, 07:48

Hallo zusammen,

ich komme einfach nicht weiter.

Hier erst einmal der Code:

Code: Alles auswählen

<style type="text/css">
	a:link                  { text-decoration:none; font-weight:bold; color:black; }
	a:visited               { text-decoration:none; font-weight:bold; color:silver; }
	a:hover                 { text-decoration:none; font-weight:bold; background-color:silver; }
	a:active                { text-decoration:none; font-weight:bold; background-color:silver; }
	a:focus                 { text-decoration:none; font-weight:bold; background-color:silver; }
	.SelectBoxBreite        { width:  270px;  font-size: 30px; }	
	.InputBreite            { width:  270px;  font-size: 30px; }	
</style>

<?php
usleep(300000); //kurze Wartezeit
include("\interface\studio.inc.php");

//gesetzte Werte beim neuen Aufruf übergeben (gehen sonst verloren)
$haustuer_oeffner_neuer_wert                 =	   		$_REQUEST[haustuer_oeffner_neuer_wert];
$treppenhauslich_ein_neuer_wert             =	   		$_REQUEST[treppenhauslich_ein_neuer_wert];
$neuer_wert                                            =	   		$_REQUEST[neuer_wert]; //TT

//wenn neue Werte gesetzt wurden, diese in homeputer schreiben
//if($haustuer_oeffner_neuer_wert)                 {SetStudio("SE_SC_TU_4412",              	1);}
//if($treppenhauslich_ein_neuer_wert)             {SetStudio("SE_SC_TR_4413",              	1);}
if($neuer_wert)                                               {SetStudio("SE_SC_BI_1114",              	1);} //TT

//Werte lesen
$data = GetStudioArray("SC_GA_Status,
                        EM_SC_DE_4421,
                        EM_SC_TR_4413") or die ("<b>Fehler: </b>KS300!");				

//gelesende Werte manipulieren (zur besseren Lesbarkeit)
if ($data["SC_GA_Status"] == "zu")         $data["SC_GA_Status"] = "geschlossen";
if ($data["SC_GA_Status"] == "auf")        $data["SC_GA_Status"] = "geöffnet";
if ($data["SC_GA_Status"] == "unbekannt")  $data["SC_GA_Status"] = "unbekannt / lüften";
if ($data["EM_SC_DE_4421"] == "aus")       $data["EM_SC_DE_4421"] = "ausgeschaltet";
if ($data["EM_SC_DE_4421"] == "an")        $data["EM_SC_DE_4421"] = "eingeschaltet";
if ($data["EM_SC_TR_4413"] == "aus")       $data["EM_SC_TR_4413"] = "ausgeschaltet";
if ($data["EM_SC_TR_4413"] == "an")        $data["EM_SC_TR_4413"] = "eingeschaltet";

//Überschrift
echo "<table border='0' style='font-size:30px' align='center' width='800'>";

	//Überschrift
	echo "<tr height='80'><td><b>Quickfunktione - Aussenbereich</b></td><td></td></tr>";
 
echo "</table>";
 
 //Strich ziehen
echo "<hr noshade width='800' size='5' align='center'>";

//Wertebereich
echo "<table border='0' style='font-size:30px' align='center' height='20' width='800'>";

  //Überschrift
  echo "<tr height='10'><td></td></td><td></td><td></td></tr>";
  echo "<tr height='60'><td><b>Garagentor 2</b></td></td><td></td><td></td></tr>";
  
  //Zustand Garagentor 2
	echo "<tr height='60'><td>Garagentorposition</td><td>".$data["SC_GA_Status"]."</td><td></td></tr>";

  //Zustand Garagentor 2 Deckenlampe
	echo "<tr height='60'><td>Garagendeckenlampe</td><td>".$data["EM_SC_DE_4421"]."</td><td></td></tr>";
	
  //Überschrift
  echo "<tr height='40'><td></td></td><td></td><td></td></tr>";
  echo "<tr height='60'><td><b>Haustür - Eingangsbereich</b></td></td><td></td><td></td></tr>";

  //Zustand Treppenhauslampe
	echo "<tr height='60'><td>Treppenhauslampe</td><td>".$data["EM_SC_TR_4413"]."</td><td></td></tr>";
  
  //Haustür öffnen
	//echo "<form><tr height='80'><td></td><td><input class='InputBreite' type='submit' name='haustuer_oeffner_neuer_wert' value='Haustür öffnen'</td><td></td><td></td></tr></form>";
  //echo "<form><tr height='80'><td></td><td><input class='InputBreite' type='submit' name='treppenhauslich_ein_neuer_wert' value='Treppenhauslicht'</td><td></td><td></td></tr></form>";
  echo "<form method='GET'><tr height='80'><td></td><td><input class='InputBreite' type='submit' name='neuer_wert' value='TT'</td><td></td><td></td></tr></form>"; //TT
  
echo "</table>";

?>
SE_SC_BI_1114 = ist in homeputer ein Schalter der als Taster funktioniert.

Das Problem ist, dass diese Funktion immer ausgeführt wird, was ich nachvollziehen kann.

if($neuer_wert) {SetStudio("SE_SC_BI_1114", 1);} //TT

Leider weiß ich nicht, wie ich es hin bekomme, das "SetStudio("SE_SC_BI_1114", 1)" nur nach betätigen des Buttons (Input Funktion) ausgeführt wird und nicht z.B. beim lade der Seite auch ausgeführt wird.

evt.geht es mit der onclick Fuktion?

Gruß
Maik

mfreye
Beiträge: 237
Registriert: 22.12.2007, 08:01

Re: php WebInterface Taster

Beitrag von mfreye » 12.12.2010, 09:32

Hallo.

Also habe jetzt ein Lösung gefunden:

Man muss einfach den header neu laden. Die URL wird durch durch den GET oder POST Befehl erweitert (z.B. www.....de?hierderGET=Befehl), durch die folgende Zeil wird die ursprüngliche URL wieder geladen (also www.....de).

Code: Alles auswählen

if(isset($_GET["button1"])){header ("Location: ".$_SERVER["HTTP_REFERER"]);}
Gruß
Maik

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“