Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
craxelburger

PHP Abfragen-Frage

Recommended Posts

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 by craxelburger

Share this post


Link to post

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

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 by craxelburger

Share this post


Link to post

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

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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×