+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Registriert seit
    Oct 2012
    Ort
    Köln
    Beiträge
    11

    Standard PHP DAU | Undefined variable

    Hallo zusammen,

    ich als PHP DAU benötige eure Hilfe :-). Habe gestern mal angefangen PHP Skripte in Symcon zu verwenden um mehr Komfort zu gewinnen.

    Für meine Zisterne möchte ich gerne das ca. Wasservolumen berechen. Hierzu habe ich schon den mA wert meines Drucksensors in Wasserseule umgewandelt (h). Im Forum habe ich bereits ein passenden Code-Schnipsel gefunden.

    function CalcVolZylinder($r,$L,$h) {
    $a = sqrt(2*$r*$h - $h*$h);
    $b = ($r-$h) * $a / ($r*$r);
    $c = acos(($r-$h)/$r);
    $vol = $r*$r*$L*($c-$b);
    return($vol);
    }

    function VolKontrolle($r,$L) {
    $v = $r*$r*$L*pi();
    return($v);
    }

    Jedoch bekomme ich diesen nicht zum laufen, da ich wahrscheinlich was grundsetzliches nicht beachtet habe....

    PHP-Code:
    <?php
    $r 
    180;
    $L 200;
    $h GetValue(19520);

    function 
    CalcVolZylinder($r,$L,$h) {
      
    $a sqrt(2*$r*$h $h*$h);
      
    $b = ($r-$h) * $a / ($r*$r);
      
    $c acos(($r-$h)/$r);
      
    $vol $r*$r*$L*($c-$b);
      return(
    $vol);
    }

    function 
    VolKontrolle($r,$L) {
      
    $v $r*$r*$L*pi();
      return(
    $v);
    }
    SetValue(46222,$vol); 
    SetValue(22692,$v);
    Als Fehler bekomme ich "Undefined variable" für vol und v? Wie kann ich diese definieren?

    Danke und Grüße,
    Daniel
    EIB KNX - Homematic - IPS 5.5 - Ubuntu@esxi

  2. #2
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,424

    Standard PHP DAU | Undefined variable

    Du musst die Funktionen auch aufrufen, nicht nur definieren

    zB:
    $v = VolKontrolle($r, $L);

    Danach hast du erst $v mit Inhalt gefüllt und kannst es in SetValue verwenden.

    Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

  3. #3
    Registriert seit
    Oct 2012
    Ort
    Köln
    Beiträge
    11

    Hi Chris,

    Vielen Dank, hat funktoniert!

    Name:  Bildschirmfoto 2020-11-23 um 21.06.18.png
Hits: 88
Größe:  31.5 KB

    Könntest du mir bitte noch erklären warum noch man "($r, $L)" anhängen muss?

    $v = VolKontrolle;
    hätte ich noch verstanden aber dann...

    Danke,
    Daniel
    EIB KNX - Homematic - IPS 5.5 - Ubuntu@esxi

  4. #4
    Registriert seit
    Sep 2014
    Ort
    Limeshain (Hessen)
    Beiträge
    5,424

    Weil in der Funktion die beiden Variablen als Parameter übergeben werden müssen.

    Es gibt auch Funktionen die keinen Parameter benötigen, dann gibt man aber trotzdem () mit an. So ist halt die Syntax von PHP

    Weiteres findest du im Internet - zB hier:
    https://www.php-kurs.com/funktionen-in-php.htm

    Viele Grüße,
    Chris
    IP-Symcon Module >> www.bayaro.net << Verfügbare Module: BatterieMonitor, BundesligaTabelle, Enigma2BY, HeizölPreise, Helios, Horoskop, HostMonitor, IPSInformations, MELCloud, Müllabfuhr, PJLink, RSS, TankerkönigSpritpreise, xREL
    IPS Unlimited, ~1200 Scripte, ~7000 Variablen

Ähnliche Themen

  1. Undefined variable: IPS_VARIABLE
    Von SmartHomeSchweiz im Forum Skripte, PHP, SQL
    Antworten: 11
    Letzter Beitrag: 20.12.15, 19:12
  2. Fehler Undefined variable ????
    Von Kiter11 im Forum Skripte, PHP, SQL
    Antworten: 7
    Letzter Beitrag: 01.01.15, 14:37
  3. Undefined Variable Problem, obwohl variable definiert ist.
    Von Daste im Forum Skripte, PHP, SQL
    Antworten: 3
    Letzter Beitrag: 14.09.14, 14:08
  4. Undefined Variable
    Von Dani_CH im Forum IP-Symcon WIIPS für Version 1.0
    Antworten: 5
    Letzter Beitrag: 02.08.07, 16:50
  5. Fehler: Undefined variable: handle xx
    Von guyabano im Forum Allgemeine Diskussion
    Antworten: 5
    Letzter Beitrag: 17.11.05, 15:29