anpera.net
https://anpera.dyndns.org/phpbb3/

getsetting Funktion
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=1293
Seite 1 von 1

Autor:  Tiger313 [ Di 19 Apr, 2005 15:11 ]
Betreff des Beitrags:  getsetting Funktion

nun egal was ich eingebe bei den Einstelungen er nimmt es nicht an und führ die Abfrage immer wenn die Zahl 4 ist

Das hab ich erweitert in der configuration.php
[php]"maxringeday"=>"Maximal Tage die man den Ring hat (0 für unbegrenzt),int"[/php]

und das in meiner Newday.php
[php]$sql="SELECT stone,owner,class,description,stonename,ringday FROM stones WHERE stone = $stones";
$result = db_query($sql) or die(db_error(LINK));
if ($session ['user']['stones'] > 0){
$row = db_fetch_assoc($result);
$stein = $row['stone'];
$besitzer = $row['owner'];
$welcher = $row['stonename'];
$beschreibung = $row['description'];
$tage = $row['ringday'];
if ($tage ==getsetting("maxringday",0)){
output("`nDie Götter haben entschieden das der $welcher schon zu lange in deinem Besitz ist und nehmen ihn dir weg. `n");
$sql = "UPDATE stones SET ringday = '1', owner = 0 WHERE stone = '".$stones."'";
db_query($sql);
$session ['user']['stones'] = 0;
}
......der code geht normal weiter[/php]
wie gesagt er führt die abfrage immer aus wenn ringday 4 ist. Soll aber schauen was in den Setings für ein wert eingetragen ist und erst bei == die abfrage ausführen.

Autor:  Eliwood [ Di 19 Apr, 2005 15:36 ]
Betreff des Beitrags:  Re: getsetting Funktion

Sollte so gehen:

[php]
if ($getsetting("maxringeday",4) > $session['user']['zeitwielangeerSteinhat])
{
Anweisung
}
[/php]

Autor:  Tiger313 [ Di 19 Apr, 2005 15:48 ]
Betreff des Beitrags: 

also Prakisch eher so
[php]if (getsetting("maxringday",4) >=$tage){ [/php]

teste ich mal

EDIT:
Ne so wird die Funktion sofort ausgeführt

es kommt mir so vor als wenn er garnicht überprüft was da für zahl steht bzw. er die zahl von falschen ort holt

Autor:  Meteora [ Di 19 Apr, 2005 15:57 ]
Betreff des Beitrags: 

rüüüchtüüüsch

[php]
if($tage >= getsetting("maxringday",4)){
[/php]

Autor:  Tiger313 [ Di 19 Apr, 2005 16:03 ]
Betreff des Beitrags: 

geht nicht

Sobald ich die Newday zum 4x aufrufe führt er die abfrage aus obwohl ich in den Einstelungen 10 eingegeben hab

Autor:  Meteora [ Di 19 Apr, 2005 16:08 ]
Betreff des Beitrags: 

Tiger313 hat geschrieben:
geht nicht

Sobald ich die Newday zum 4x aufrufe führt er die abfrage aus obwohl ich in den Einstelungen 10 eingegeben hab



ist ja auch klar, wegen getsetting("maxringday",4). ich weiss zwar nicht wie du es richtig hinbekommst, aber versuch es mal mit 0...

Autor:  Tiger313 [ Di 19 Apr, 2005 16:12 ]
Betreff des Beitrags: 

Das hab ich schon und auch dann nimmt er die 4


Hab mal zum test es so geschrieben
[php]$test = (getsetting("maxringday",0));
//if ($tage >=getsetting("maxringday",0)){
if($tage >= getsetting("maxringday",0)){
output("`nDie Götter haben entschieden das der $welcher schon zu lange in deinem Besitz ist und nehmen ihn dir weg. `n");
$sql = "UPDATE stones SET ringday = '1', owner = 0 WHERE stone = '".$stones."'";
db_query($sql);
$session ['user']['stones'] = 0;
} else {
output("`nDu bist im Besitz von $welcher. $beschreibung TESSSSSST = $test`n");[/php]
das ergebniss:
Zitat:
Du bist im Besitz von Ring des Leichenprinzes. Ramius schenkt Dir jeden Tag 20 Gefallen. TESSSSSST = 4

also holt er sich die zahl vom falschen Ort aber warum nur? und woher?[/php]


Ach ich Depp
hab noch mal nachgeschaut
in der configurtion.php hab ich "maxringeday"
und in der newday frag ich dauernd die "maxringday" da fehlt das e

Kann mich einer erschissen bitte?
Danke für die muhe mir zu helfe.

Autor:  Meteora [ Di 19 Apr, 2005 16:16 ]
Betreff des Beitrags: 

[php]$test = (getsetting("maxringday",0));[/php] sollte das nich maxringeday heissen?

Autor:  Tiger313 [ Di 19 Apr, 2005 16:18 ]
Betreff des Beitrags: 

Jeep gerade auch gemerkt :cry:

Autor:  Devilzimti [ Di 19 Apr, 2005 17:19 ]
Betreff des Beitrags: 

mal ne Erklärung warum er trotzdem 4 ausgegeben hat und keine Fehlermeldung:
so funzt die getsetting (glaub ich)
getsetting(settingname,Wert der zurückgegeben werden soll wenn settingname nichts zurück gibt);
hoffe dass noch niemand das bemerkt hatt *GGGGGGGG*

Autor:  Tiger313 [ Di 19 Apr, 2005 17:37 ]
Betreff des Beitrags: 

weiß nicht ob deine aussage richtig ist den er hat auch 4 ausgegeben obwohl ich dahinter 0 angegeben hab.

aber egal jetzt geht es und jeder ist zufrieden *ggg*

Autor:  Kevz [ Di 19 Apr, 2005 17:40 ]
Betreff des Beitrags: 

Devilzimti hat geschrieben:
mal ne Erklärung warum er trotzdem 4 ausgegeben hat und keine Fehlermeldung:
so funzt die getsetting (glaub ich)
getsetting(settingname,Wert der zurückgegeben werden soll wenn settingname nichts zurück gibt);
hoffe dass noch niemand das bemerkt hatt *GGGGGGGG*



1.Falls der Wert nicht vorhanden wird dieser Zurückgeben.
2.Der Wiedergebende Wert wird aber nicht in der DB gespeichert.
3.Der Wert muss von allein mit savesetting is glaubig die Funktion erstellt werden.

Autor:  Meteora [ Di 19 Apr, 2005 17:41 ]
Betreff des Beitrags: 

Devilzimti hat geschrieben:
getsetting(settingname,Wert der zurückgegeben werden soll wenn settingname nichts zurück gibt);


Richtig und Falsch
hier mal der auszug aus der common.php:

[php]
function getsetting($settingname,$default){
[/php]

$settingname = Name der Einstellung
$default = Wert wenn diese Einstellung zum ersten mal aufgerufen wird und sie vorher noch nicht bestummen wurde

Autor:  Chaosmaker [ Di 19 Apr, 2005 19:00 ]
Betreff des Beitrags: 

Wenn $default zum Einsatz kommt, wird es zugleich auch in der DB gespeichert. Daher wurde auch später immer 4 zurückgegeben: Beim 1. Mal wurde 4 gespeichert, danach einfach immer der gespeicherte Wert genutzt.

Autor:  Tiger313 [ Di 19 Apr, 2005 19:19 ]
Betreff des Beitrags: 

Achso das leuchtet mir ein
Somit hat es keine wirkung mehr gezeit obwohl ich die 4 durch 0 ersätzt hab.

Auf was man alles achten muß

Nochmal danke für die Aufklärung

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/