User_id nicht direkt sondern indirekt angeben

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

User_id nicht direkt sondern indirekt angeben

Beitrag von Darezettl »

man kann ja schreiben zb.
if ($userdata['user_id'] == 2) { bla }


ginge es auch, die User-ID nicht so offentsichtlich anzugeben sondern stattdessen mathematisch zu berechnen?

Also so irgendwie:
if ($userdata['user_id'] == (10/5)) { bla }


Bitte nicht nach dem Sinn fragen.. ich will einfach wissen ob das geht oder nicht! ;)
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wichtig ist, was rauskommt. Und in diesem Falle wäre es auch 2.

*seltsame methode, id's zu vergleichen*
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

Ah sehr schön! hehe

Nun noch eine Frage zur Klammerfrage in Berechnungen:

Wenn ich schreib ((10/5) * (9-1) + 8,5 - 1,5)

Wird erfolgt da die Berechnung der Reihe nach?


Noch ne Frage: Man kann beliebig viele Runde Klammern hernehmen in der Berechnung aber auch nur runde und keine eckigen oder sonstwas oder?


edit: Hier würde man auch auf die - und nur auf die - User_id 2 kommen, richtig?

Stimmt das so? "Wenn der User ein höheres Level hat als Moderator, und die Option "Experminet" in der Board-Konfig auf "Nein" steht und wenn seine ID kleiner als 3 ist (stimmt die Rechnung?) dann sieht er was in der folgenden Klammer kommt."

Datei hängt dran
Dateianhänge
experiment.zip
(220 Bytes) 116-mal heruntergeladen
Zuletzt geändert von Darezettl am Mi 26.Jul, 2006 08:03, insgesamt 3-mal geändert.
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wird erfolgt da die Berechnung der Reihe nach?
PHP rechnet nach den allgemeingültigen mathematischen Regeln.
Noch ne Frage: Man kann beliebig viele Runde Klammern hernehmen in der Berechnung aber auch nur runde und keine eckigen oder sonstwas oder?
Richtig. Klammern sind nur runde erlaubt, geschweifte und eckige Klammern haben in Berechnungen nichts zu suchen, da diese andere Bedeutungen haben.
edit: Hier würde man auch auf die - und nur auf die - User_id 2 kommen, richtig?
Das Ergebis wäre hierbei 23 ;)
Also bei der Formel "((10/5) * (9-1) + 8,5 - 1,5)"
if ($userdata['user_level'] < MOD && (!board_config['experiment']) && $userdata['user_id'] > ((118,8/1,8)-63) {
Das ist "true", also erfüllt, wenn der User-Level < 2 (MOD) ist und die User-ID >= 3.
Somit wird der nachfolgende Programmcode nur ausgeführt, wenn der User Gast, User, Admin ist und eine User-ID > 3 hat.
Zuletzt geändert von oxpus am Mi 26.Jul, 2006 10:16, insgesamt 2-mal geändert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

[quote="oxpus";p="62169"]
if ($userdata['user_level'] <MOD> ((118,8/1,8)-63) {
Das ist "true", also erfüllt, wenn der User-Level <2>= 3.
Somit wird der nachfolgende Programmcode nur ausgeführt, wenn der User Gast, User, Admin ist und eine User-ID > 3 hat.[/quote]



Ah Shit, genau das wollte ich nicht.

Also ist praktisch User-Level > MOD äquivalent zu User-Level == ADMIN , oder?



... das "größer als" und "kleiner als" verwechsel ich immer.. grr
Zuletzt geändert von Darezettl am Mi 26.Jul, 2006 11:24, insgesamt 1-mal geändert.
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

> = grösser
< = kleiner

Eselsbrücke:
|< = kleiner, da man hier ein "K" wie Kleiner draus machen kann.

User-Level > MOD ist erstmal nicht vorhanden, da MOD = 2 und ADMIN = 1 (User = 0 und Gast = -1).
Zuletzt geändert von oxpus am Mi 26.Jul, 2006 11:48, insgesamt 1-mal geändert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Titus
Beiträge: 235
Registriert: Fr 18.Mär, 2005 22:23

Beitrag von Titus »

uns wurde das damals so erklärt die klammer "<" schnappt immer zum größeren wert ;)

zur prüfung von mehreren userids ist

Code: Alles auswählen

if ( in_array($userdata['user_id'], array(2,5,6,100) ) ) 
wohl am besten, ohne gleich nen roman schreiben zu müssen
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

... man kann es auch kompliziert machen, aber egal ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

User-Level > MOD ist erstmal nicht vorhanden, da MOD = 2 und ADMIN = 1 (User = 0 und Gast = -1).

ja wie? den Ausdruck MOD kann man nicht verwenden??
ich hab das aber schon öfter gesehen in codes und glaub auch dass ich es schon mal irgendwo selber verwendet hab?!?
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Verwenden kannst Du den schon, aber in der Regel gibts keinen Userlevel > 2, ausser, ein MOD fügt weitere Level hinzu!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Darezettl
Beiträge: 589
Registriert: So 31.Jul, 2005 23:43

Beitrag von Darezettl »

So okay, ich hätte noch ne Frage:


Also ich würde mir gern in die admin/index.php was kleines einbauen; und zwar soll wenn eine bestimmte Board-Config Option auf Nein steht ein Bildchen erscheinen auf der Admin Startseite.

Hier der Code für admin/index.php
if (!board_config['experiment']) { <img> }
Gut, aber wie übergeb ich das jetzt an die index_body.tpl, dass es mir angezeigt wird?


danke
Zuletzt geändert von Darezettl am Fr 28.Jul, 2006 11:30, insgesamt 1-mal geändert.
Bild
Life begins @ 1/1000
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie jede andere Angabe auch:
http://www.oxpus.de/viewtopic.php?t=2642
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten