Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 9 Gast/Gäste
Begrüßung der Benutzer nach der Tageszeit.
#31
PHP-Code:
//Begin Time welcome Tc4me
    
$uhrzeit gmdate($mybb->settings['timeformat'],TIME_NOW $mybb->user['timezone'] * 3600);
 if (
$uhrzeit >= && $uhrzeit 4

$lang->welcome_back $lang->sprintf($lang->welcome_back_nightbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 elseif (
$uhrzeit 10 && $uhrzeit >= 4)

$lang->welcome_back $lang->sprintf($lang->welcome_back_morningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 elseif (
$uhrzeit <= 18 && $uhrzeit >= 10

$lang->welcome_back $lang->sprintf($lang->welcome_back_daybuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

  else//if ($uhrzeit >= 19)

$lang->welcome_back $lang->sprintf($lang->welcome_back_eveningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);
 }
 
//End Time welcome Tc4me 

So sollte die global.php danach ausssehen,  Wink
Zitieren
#32
Wink 
Top !
   

Omega6 Wink
Zitieren
#33
(05.02.2021, 06:10)tc4me schrieb: So sollte die global.php danach ausssehen,  Wink

Alles in allem eine echt saubere Sache. Kompliment.

Habe es mal umgesetzt und festgestellt, das wenn man anstelle
<18 und >10 = Text "Tag" = funktioniert
mal nimmt:
<12 und >10 = Text "Tag" = funktioniert
<14 und >12 = Text "Mahlzeit" = keine Funktion, es wird "Tag angezeigt.
Kann es sein dass da 0-12 = AM/PM ausgeführt wird anstelle von 0-24

[Edit:]
Fehler gefunden, es lag an meiner falsch eingestellten Zeitzone. Funktioniert nun perfekt. Danke
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#34
Ich möchte noch einmal darauf hinweisen, dass man diese "umfangreichen" if-Abfragen vereinfachen kann.
Wie hier bereits erwähnt wurde, braucht es absolut kein "if von und bis Stunde". Um alle Stunden abzufragen reicht entweder nur "< Stunde" oder "> Stunde" (je nach Reihenfolge).
Warum also macht ihr es euch komplizierter als nötig? Wink

Nebenbei. Wie man sieht, kommt man manches Mal nicht drum herum in den PHP-Dateien zu manipulieren. Also noch ein kleiner Tipp: Versucht besser die Zeilen so gut es geht bei zu behalten, so dass man sich auch weiterhin an Zeilenangaben innerhalb des Codes orientieren kann. Der gesamte Code ließe sich auch in ein/zwei Zeilen unterbringen und würde die Zeilen nicht verrutschen Smile

[ExiTuS]
MyBB + innovative Themes:
NokiaPort.de Forum Nokia-Traditionsforum seit 2006.
Live Escape Game Forum Diskussionsplattform für Escape-Rooms.
Unlösbares Problem, Dilemma? -> das Nötel Smile
Zitieren
#35
Servus und Danke, jetzt hänge ich :-( , kannst du mir mal mit  "< Stunde" oder "> Stunde" (je nach Reihenfolge). einen kurzen Ansatz in meine Ausführung eingeben, damit ich es verstehe, leider reichen meine Kenntnisse jetzt Null aus . Danke Grüße Tc4me
PHP-Code:
//Begin Time welcome Tc4me
    $uhrzeit gmdate($mybb->settings['timeformat'],TIME_NOW $mybb->user['timezone'] * 3600);
 if (
$uhrzeit <= 10)

$lang->welcome_back $lang->sprintf($lang->welcome_back_morningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 elseif (
$uhrzeit <= 18

$lang->welcome_back $lang->sprintf($lang->welcome_back_daybuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

  elseif ($uhrzeit <= 22

$lang->welcome_back $lang->sprintf($lang->welcome_back_eveningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);
 }
 else
//if ($uhrzeit >= 22)

$lang->welcome_back $lang->sprintf($lang->welcome_back_nightbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 
//End Time welcome Tc4me 

Dass mit der Stunde denke ich habe ich verstanden, :-)
Zitieren
#36
Warum etwas ändern wenn es läuft?
Ich lass es so, Danke
Zitieren
#37
1. Programmierrichtlinien / Konventionen
2. Weniger Code = bessere Performance (auch wenn es bei so wenig Code erst mal egal ist)
Zitieren
#38
Habt ihr soetwas wie einen Geheimcode untereinander? Jetzt sprechen schon meherere von was geändert gehört, abe.
r keiner sagt wie. Wie Politiker, reden aber nichts sagen...😄
Zitieren
#39
Auf der ersten Seite ist bereits erwähnt worden, wie man die if-Abfragen vereinfacht Smile
https://www.mybb.de/forum/thread-37646-p...#pid247383

Es ging nur darum, diesen Happen an Programmcode noch schlanker und effizienter zu machen.

[ExiTuS]
MyBB + innovative Themes:
NokiaPort.de Forum Nokia-Traditionsforum seit 2006.
Live Escape Game Forum Diskussionsplattform für Escape-Rooms.
Unlösbares Problem, Dilemma? -> das Nötel Smile
Zitieren
#40
(08.02.2021, 11:24)[ExiTuS] schrieb: Auf der ersten Seite ist bereits erwähnt worden, wie man die if-Abfragen vereinfacht Smile
https://www.mybb.de/forum/thread-37646-p...#pid247383

Es ging nur darum, diesen Happen an Programmcode noch schlanker und effizienter zu machen.

[ExiTuS]

Rein vom optischen ist da durchaus switch-case schöner. 

Man könnte sowas machen wie (runtergeschrieben in 20 Sek, nicht getestet)
PHP-Code:
// aktuelle Stunde
$time 20;

switch (
$time) {
  case $time <= 5:
    echo "So früh schon wach?";
    break;
  case $time <= 10:
    echo "Guten Morgen";
    break;
  case $time >= 19:
    echo "Guten Abend";
    break;
  default:
    echo "Guten Tag!";

Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Pop Up mit Begrüßung oder Alternative... arzneimitteltalk.de 2 2.136 01.06.2009, 07:02
Letzter Beitrag: arzneimitteltalk.de