craxelburger 0 Report post Posted January 22, 2004 (edited) Wie müsste diese Abfragen korrekt lauten? if($ibforums->input['Post']<>"" AND $ibforums->member['g_view_dshoutbox'] != 0 OR $ibforums->member['use_dshoutbox'] != 0) { $this->Post_Shout(); $this->refresh(); } Was ich erreichen will: Wenn eine Membergruppe oder ein Member den Status 1 hat, soll if($ibforums->input['Post']<>"") { $this->Post_Shout(); $this->refresh(); } nicht ausgeführt werden... Danke. Edited January 22, 2004 by craxelburger Share this post Link to post
Christian 0 Report post Posted January 22, 2004 if( (strlen($ibforums->input['Post'])>0) && ($ibforums->member['g_view_dshoutbox'] != 1) && ($ibforums->member['use_dshoutbox'] != 1) ) { $this->Post_Shout(); $this->refresh(); } oder sehe ich das falsch? wenn alle ungleich eins sind soll es ausgeführt werden Share this post Link to post
craxelburger 0 Report post Posted January 23, 2004 (edited) Ja, genau. Aber muss das zweite && nicht durch OR ersetzt werden? $ibforums->member['g_view_dshoutbox'] != 1 und $ibforums->member['use_dshoutbox'] != 1 können ja auch verschieden sein. Auch wenn nur eins von beiden 1 hat soll die Ausführung verweigert werden. Edited January 23, 2004 by craxelburger Share this post Link to post
Stefan 0 Report post Posted January 23, 2004 Nein, die Logik von Christian ist schon richtig, so wie ich das sehe. Es soll ja nicht ausgeführt werden, wenn bei dem Mitglied g_view_dshoutbox oder use_dshoutbox auf 1 steht. Somit kann man auch definieren, das die Funktion aufgerufen werden soll, wenn g_view_dshoutbox und use_dshoutbox ungleich 1 sind. ;) Share this post Link to post
craxelburger 0 Report post Posted January 24, 2004 Hmm, irgendwie funktioniert das nicht. Also hier nochmal die Originalabfragen: if($ibforums->input['Post']<>"") { $this->Post_Shout(); $this->refresh(); } if($ibforums->input['Post']<>"" AND $ibforums->input['step']=="two") { $this->Post_Shout(); $this->refresh(); } und so sehen meine modifizierten aus: if( (strlen($ibforums->input['Post'])<>"") && ($ibforums->member['g_view_dshoutbox'] != 1) && ($ibforums->member['use_dshoutbox'] != 1) ) { $this->Post_Shout(); $this->refresh(); } if( ($ibforums->input['Post']<>"" AND $ibforums->input['step']=="two") && ($ibforums->member['g_view_dshoutbox'] != 1) && ($ibforums->member['use_dshoutbox'] != 1) ) { $this->Post_Shout(); $this->refresh(); } Leider funktioniert das nicht. Share this post Link to post
Stefan 0 Report post Posted January 25, 2004 Folgendes funktioniert nicht: strlen($ibforums->input['Post'])<>"" Die Funktion strlen gibt dir einen Int-Wert zurück, je nach Anzahl der Buchstaben. Du vergleichst aber, ob es ein Leerstring ist, sprich, gar nichts zurück gibt. Somit ist diese Teilabfrage immer FALSE, da ja immer ein Zahelnwert zuückgegeben wird. Du muß also die Abfrage so modifitieren, wie Christian es angegeben hat. strlen($ibforums->input['Post'])>0 Share this post Link to post