If Abfrage ):-(

Hallo! Ich bins wieder - der immer Hilfe bedürftige. Wegen dem Mist unten hab ich gestern die Jahreswende verpasst und beinahe Sekt über mein Notebook gekippt. ):frowning:

Egal, also folgendes: Das Script unten gibt bei echo „$bgcolor“; „blau“ aus, also kann er schonmal aus
$filename lesen. Wenn ich jetzt aber eine If Abfrage mache,
kommt „red“, also „nein“ raus obowhl $bgcolor doch blau beinhaltet. Ist das nicht komisch? Ein paranormales Phänomen? :wink:

Gruß
Stephan

include „script.php“;
$bgcolor = „“;@GetBBGColor($filename); echo"";
echo „$bgcolor“;

If ($bgcolor == „blau“)
{
echo „blue“;
}
else
{
echo „red“;
};
?>

Scheint ziemlich klar zu sein, dass $bgcolor nicht „blau“ ist :smile:

Beim Lesen aus der Datei werden die Zeilenende-Zeichen natürlich mitgelesen, das fällt natürlich beim echo nicht so sehr auf :wink:

Versuch mal
$bgcolor = trim($bgcolor)
vor der Abfrage.

-) Marian

Habs getestet - haut leider nicht hin :frowning:((

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

nehmen wir deinen code doch mal auseinander ...

include "script.php";
$bgcolor = ""; //bgcolor wird auf einen leeren string gesetzt
@GetBBGColor($filename); //bgcolor liest du aus, schreibst die 
 //aber nirgends rein ...
 //ist ne eigene funktion die das
 //warscheinlich rausecho't ???
echo""; //ein sinnloses echo ...
echo "$bgcolor"; //echo, hier wird nichts ausgegeben (leer)

 If ($bgcolor == "blau")
 {
 echo "blue";
 }
 else
 {
 echo "red";
 };
//und beim if kommt also IMMER red raus ....
//mach $bgcolor = @GetBBGColor($filename); 

Wenn ich das aber dann so mache:

include „get_prefs.php“;
$bgcolor = @GetBBGColor($filename);

If ($bgcolor == „Gold“)
{
echo „ja“;
}
else
{
echo „nein“;
};

?>

schreibt er den GetBBGColor Inhalt raus „Gold“ und packt trotzdem wieder ein „nein“ dahinter :frowning: Aber wenn da doch Gold drinsteht, muß er doch ein Ja zurückgeben und warum wird das GOld noch mal sichtbar rausge’echo’t? :frowning:( Danke für Deine liebe Hilfe aber ich glaube das alles kann gar nicht klappen. SOwas hab ich noch nie erlebt…völlig unlogisch alles *heul*

Gruß
Stephan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

genau das meinte ich ja gerade … deine funktion GetBBGColor scheint das einfach rauszuecho’n, die sollte aber den wert return’en … deswegen kriegst du diese ungewollte ausgabe.
in $bgcolor steht weiterhin absolut nichts drin …

Hier hab ich mal den Inhalt der GetBBGColor:

function GetBBGColor($filename) {
global $contentdir;
$files = array();
$user = file("$contentdir/$filename");
$user[] = $value;
for (reset ($user); list ($key, $value) = each ($user):wink: {
if ($key == „8“) { /* Add */
$piglet = „$value“;
$piglet = str_replace("\n","",$piglet);
$piglet = str_replace(„blau“,„blue“,$piglet);
echo „$piglet“;
}
}
}

Eigentlich sollte er Daten aus einer Datei beziehen, das tut er ja auch da er es raus echo’n kann :smile:

genau das meinte ich ja gerade … deine funktion GetBBGColor
scheint das einfach rauszuecho’n, die sollte aber den wert
return’en … deswegen kriegst du diese ungewollte ausgabe.
in $bgcolor steht weiterhin absolut nichts drin …

Hier hab ich mal den Inhalt der GetBBGColor:

function GetBBGColor($filename) {
global $contentdir;
$files = array();
$user = file("$contentdir/$filename");
$user[] = $value;
for (reset ($user); list ($key, $value) = each ($user):wink: {
if ($key == „8“) { /* Add */
$piglet = „$value“;
$piglet = str_replace("\n","",$piglet);
$piglet = str_replace(„blau“,„blue“,$piglet);
echo „$piglet“;
}
}
}

und genau das echo ist einfach falsch :wink:
return $piglet;

piglet -> ferkel :smile: also gut, ich tries mal

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

super, dann gibt er mir gar nichts aus - ich hab die schnautze voll :frowning:(((((((((

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

och komm, so schwierig isses nu auch wieder nicht :wink:

super, dann gibt er mir gar nichts aus - ich hab die schnautze
voll :frowning:(((((((((

Natürlich gibt er dann nix mehr aus

du machst dann ausserhalb in deinem Programm

$bgcolor = FunktionsnameHabIchVergessen();
echo $bgcolor;

if ($bgcolor…

Ist doch genau dasselbe wie hier oder nicht, Bruno? :-?

include „get_prefs.php“;

//$lock = @GetProjectLock($filename);

If ($lock == „ja“)
{
echo „aktiviert“;
}
else
{
echo „deaktiviert“;
};

?>

Gruß
Stephan

Natürlich gibt er dann nix mehr aus

du machst dann ausserhalb in deinem Programm

$bgcolor = FunktionsnameHabIchVergessen();
echo $bgcolor;

if ($bgcolor…

Ist doch genau dasselbe wie hier oder nicht, Bruno? :-?

Keinerlei Ahnung was das ist :wink:

Mit return gibst du jedenfalls was aus der Funktion zurück. Wenn du was auf den Bildschirm schreiben willst dann machste echo, ob innen (in der Funktion) oder aussen (würde es aussen machen) ist relativ egal.

Wenn du beides brauchst, dann mache vor das return eben noch ein echo mit dem gleichen…

GESCHAFFT!
Yeh! Gecko’s hatte Recht! Jetzt kalppts! Dummerweise hatte ich vergessen das ganze eben zu dekommentieren (//) weswegen es nicht klappen konnte. Ihr wisst ja wie das ist, die kleinen Fehler bemerkt man nie :smile:) Vielen Dank jedenfalls für eure Geduld mit mir :wink: ich geb demnächst mal ne Runde Bier aus :smile:

Alles Gute
Stephan