MyXoops Forum

Re: PHP programmier Problem [Entwicklung allgemein] - myXOOPS German Support

LupusC

"myXOOPs"-Könner
Gepostet am:15.01.2008 20:04
LupusC
LupusC Offline (Show more)
"myXOOPs"-Könner
Posts: 512
Since: 13.04.2005
#6

Re: PHP programmier Problem

Nachtrag zu deinem ELSEIF Monster. Anscheinend dürften da 2 Klammern gefehlt haben.

Statt
elseif ($config['avatar_eod']!=&& $userinfo['user_status'] == "member" && $userinfo['user_groupid'] == "2" || $userinfo['user_groupid'] == "3" && $zeit >= && $zeit <= 30.4375)


sollte es wahrscheinlich
elseif (($config['avatar_eod']!=&& $userinfo['user_status'] == "member" && $userinfo['user_groupid'] == "2" || $userinfo['user_groupid'] == "3" )&& $zeit >= && $zeit <= 30.4375)


lauten.

&& ist stärker als || also würde deine IF Bedingung aufgesplittet lauten:

$config['avatar_eod']!=0 && $userinfo['user_status'] == "member" && $userinfo['user_groupid'] == "2"

||

$userinfo['user_groupid'] == "3" && $zeit >= 0 && $zeit <= 30.4375)

Und da ersteres immer eintrifft, ist das Ergebnis klar.

LupusC

"myXOOPs"-Könner
Gepostet am:15.01.2008 20:01
LupusC
LupusC Offline (Show more)
"myXOOPs"-Könner
Posts: 512
Since: 13.04.2005
#5

Re: PHP programmier Problem

Zitat:

Knallkopp schrieb:

@LupusC, dein Code ging fast, fehlte nur ne ) ganz oben im if.



Danke. Ohne Copy&Paste wär das Fehlersuchen halb so schön ;)

Advertisement

Gepostet am:0
Advertisement (Show more)
Posts: 0
Since: 0


Hier könnten Sie Ihre Anzeige aufgeben!
Bitte kontaktieren Sie uns, um mehr darüber zu erfahren.

Knallkopp

"myXOOPs"-Neuling
Gepostet am:15.01.2008 18:07
Knallkopp
Knallkopp Offline (Show more)
"myXOOPs"-Neuling
Posts: 52
Since: 17.07.2004
#4

Re: PHP programmier Problem

Also das Problem ist folgendes:

Ich habe hier 12 Avatare die nach Zeit vergeben werden sollen. Diese Zeiten liegen zwischen 30 Tagen und 18 Monaten, ich habe mir schon eine Ausgabe gemacht, in der die Zeit ausgegeben wird, und da stimmt es. Er schreibt halt nur immer den einen Avatar, aber ich werde das jetzt gleich mal ausprobieren was ihr vorschlagen habt.

THX erstmal

[[[EDIT]]]

also nun geht es, ich glaube mein Fehler war, dass ich mit dem kleinen Wert angefangen habe *g*. So konnte es wirklich nicht gehen.

@LupusC, dein Code ging fast, fehlte nur ne ) ganz oben im if.

Besten Dank für die Hilfe

Gruß Knallkopp_02

alfred

Administrator
Gepostet am:15.01.2008 16:47
alfred
alfred Offline (Show more)
Administrator
Posts: 7619
Since: 06.12.2004
#3

Re: PHP programmier Problem

elseif ($config['avatar_eod']!=0 && $userinfo['user_status'] == "member" && $userinfo['user_groupid'] == "2" || $userinfo['user_groupid'] == "3" && $zeit >= 0 && $zeit <= 30.4375) {

Mh, nett nur diese bedingung wird immer zutreffen wenn nur eine einzige richtig ist, daher gehts nicht weiter

weil solange eine einzige Bedingung da oben zutrifft, wird der Code genommen.

elseif ($config['avatar_eod']!=&& $userinfo['user_status'] == "member" && ($userinfo['user_groupid'] == "2" || $userinfo['user_groupid'] == "3") && ($zeit >= && $zeit <= 30.4375)) {
....


Allerdings ist der Code naja etwas umständlich *g*

Alfred

LupusC

"myXOOPs"-Könner
Gepostet am:15.01.2008 16:15
LupusC
LupusC Offline (Show more)
"myXOOPs"-Könner
Posts: 512
Since: 13.04.2005
#2

Re: PHP programmier Problem

Zuerstmal:
Du hast da mächtig redundanten Code.

1. Woher weißt du, dass $zeit richtig berechnet wird? Wirf mal beinhart in dem elseif Teil mit
echo "<br>Zeit: " $zeit ."<br>"

den WErt von Zeit raus.

2. Wenn du nur auf einen Zeitraum abfragen willst, dann gibt es einen einfacheren Weg (zähmt auch etwas dein elseif Monster). Hab aber den Code nicht getestet. Ist nur so aus der Hüfte geschossen:
$user_avatar2 $userinfo['user_avatar'];
if (
$config['avatar_eod']!=&& $userinfo['user_status'] == "member" && $userinfo['user_groupid'] == "2" || $userinfo['user_groupid'] == "3" {

  if (
$zeit 60.875){
    
$user_avatar2 "avatarganzgrossezeit.jpg";   
  } elseif (
$zeit 30.4375){
   
$user_avatar2 "avatarmittlerezeit.jpg";   
  } else {
    
$user_avatar2 "avatarganzkleinezeit.jpg";   
  }

 if (
$user_avatar2 != $userinfo['user_avatar']) {
          
$DB->query("UPDATE ".$db_tab['user']." SET user_avatar='".$user_avatar2."' WHERE user_id='" .$user_id_auto"'");
     } 

}


3. probier mal folgendes in deinem Codeteil mit dem $zeit >= 0 && $zeit <= 30.4375.
if ($zeit == 0){
   echo 
"FIEEEEEP!";
}

Wenn da FIEEEP am Bildschirm steht, dann wird $zeit mit dem Wert 0 betrachtet. Hast du as anderes in $zeit stehen, dann klemmts bei der Konvertierung von $zeit in eine Zahl

Knallkopp

"myXOOPs"-Neuling
Gepostet am:15.01.2008 12:46
Knallkopp
Knallkopp Offline (Show more)
"myXOOPs"-Neuling
Posts: 52
Since: 17.07.2004
#1

PHP programmier Problem

Hallo Xoopsler,

ich habe ein Problem mir folgendem selber geschriebenen Code:

elseif ($config['avatar_eod']!=&& $userinfo['user_status'] == "member" && $userinfo['user_groupid'] == "2" || $userinfo['user_groupid'] == "3" && $zeit >= && $zeit <= 30.4375) {
    
$user_avatar2 "avamember_1197484213.jpg";
    if (
$user_avatar2 != $userinfo['user_avatar']) {
      
$DB->query("UPDATE ".$db_tab['user']." SET user_avatar='".$user_avatar2."' WHERE user_id='" .$user_id_auto"'");
    }
  }
  elseif (
$config['avatar_eod']!=&& $userinfo['user_status'] == "member" && $userinfo['user_groupid'] == "2" || $userinfo['user_groupid'] == "3" && $zeit 30.4375 && $zeit <= 60.875) {
    
$user_avatar2 "avamember_1197484199.jpg";
    if (
$user_avatar2 != $userinfo['user_avatar']) {
      
$DB->query("UPDATE ".$db_tab['user']." SET user_avatar='".$user_avatar2."' WHERE user_id='" .$user_id_auto"'");
    }
  }


der Code ist nur ein Teil des gesamten, es gibt weitere ELSEIF, worin sich aber nur die $zeit ändert, immer zwischen 2 Werten liegt, und danach immer ein anderes Avatar generiert wird.

Das Problem was ich nun habe ist, dass immer nur die Variable $user_avatar2 von der ersten ESLEIF gesetzt wird. Also immer der gleich Avatar.

$zeit wird aber bei jedem richtig berechnet. Nun die Frage, woran kann es liegen, das immer diese Avatar geschrieben wird.

Gruß Knallkopp_02
Diesen Thread durchsuchen:  1 Anonyme Benutzer

Aktuell aus dem Forum

Forum Thema Antworten Views Letzter Beitrag
Modulentwicklung New Xoops Xcreate Module 0 4211 26.11.2025 15:22
efkan Gehe zum letzten Beitrag
Modulentwicklung XOOPS Custom Field Module 1 1587 24.11.2025 11:21
Goffy Gehe zum letzten Beitrag