Script per Script erstellen, brauche Hilfe :-(

Ich würde gerne per Script ein Script mit folgenden Inhalt erstellen lassen:

$data ="<?
    		

if  ($_IPS[\'SENDER\'] != 'WebFront')
{
$wert=$_IPS[\'VALUE\'];
Sys_GetURLContent(\'http://\'$ip\'/setaktor?out=levelnew&funktion=\'$wert);
}

if ($_IPS[\'SENDER\'] == \'WebFront\')
{
$wert=$_IPS[\'VALUE\'];
Sys_GetURLContent(\'http://\'$ip\'/setaktor?out=levelnew&funktion=\'$wert);
}

?>";

Die Variable $ip sollte aber aufgelöst werden !

Wie müsste ich das schreiben ?

Eine fertige Lösung wird nicht viel helfen, wenn du nicht weist warum es so nicht geht.
PHP: Strings - Manual
Empfehlung ist das Script selbst in ’ zu setzten, dann brauchst du im String nur ’ maskieren und kannst auch mit " arbeiten.
Um dann eine Variable in den String zu bekommen, einfach mit dem Operanden . die Variable einbinden.

Michael

Sorry aber ich lerne am besten an richtigen Beispielen und nicht von der PHP Seite :banghead:

Ich verstehe nicht, wie mir das weiter helfen soll…

Mach dir mal die Mühe die Beispiele zu lesen, die Nall Chan verlinkt hat. Die erklären es eigentlich ganz gut :slight_smile:

paresy

ich habe es jetzt so gelöst:

$ip="192.168.0.222";
//Script Erzeugen
$data ="<? 
 if  (\$_IPS['SENDER'] != 'WebFront')";
$data .="
 {
 \$wert=\$_IPS['VALUE'];";

$data .= "
 Sys_GetURLContent('http://".$ip."/setaktor?out=levelnew&funktion=\$wert');";
$data .="
 }";

$data .="
 if (\$_IPS['SENDER'] == 'WebFront')";

$data .= "
 {";

$data .="
 \$wert=\$_IPS['VALUE'];";

$data .="
 Sys_GetURLContent('http://".$ip."/setaktor?out=levelnew&funktion=\$wert');";
$data .="
}
 ?>";

	GetOrCreateScript("dummy" , 47395 /*[Räume\Wohnzimmer\Rollladen-Test\Level]*/, $data, true ); // Script erzeugen


function GetOrCreateScript($name , $parent, $data, $hidden ) // erstellt ein Script, wenn es noch nicht exestiert
// Erstellt ein Script, Wert 1 = Name , Wert 2 ist die Übergeordnete Instanz, wo das Script angelegt werden soll, Wert 3 ist das was ins Script geschrieben wird, Wert 4 ob das Script sicht sein soll (true, false)

{
    $ObjId = @IPS_GetObjectIDByName($name , $parent);
    if ($ObjId === false)
    {
	     $ObjId = IPS_CreateScript(0);
        IPS_SetName($ObjId, $name);
        IPS_SetScriptContent($ObjId, "$data"); // Der Text was ins Script geschrieben wird
        IPS_SetHidden($ObjId, $hidden); // Setzt Script auf nicht sichtbar
        IPS_SetParent($ObjId,$parent ); //  Script unter das Parent verschieben
	 }
    return $ObjId;
} //Ende der Funktion GetOrCreateScript