Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Plugin Einstellungen problem...
#1
Hi Leute.

Ich bin gerade dabei ein Plugin für myBB zu schreiben, dsa ein paar Einstellungen benutzt.

Dazu habe ich folgende Inhalte in die DB eingefügt:

PHP-Code:
    $setting_1 = array(
        
'name'            => 'time',
        
'title'            => 'title',
        
'description'    => 'description',
        
'optionscode'    => 'text',
        
'value'        => '5',
        
'disporder'        => 1,
        
'gid'            => intval($id),
        
'isdefault'        => '',
    );
    
    
$db->insert_query('settings'$setting_1); 

Die Gruppen habe ich vorher bereits angelegt und verwende die richitge Id.

Jetzt habe ich aber ein Problem.

wenn ich nun den Wert der Einstellung mit den folgenden Code abfrage:
PHP-Code:
$time=$mybb->settings['time']; 

,dann steht nichts drinnen, solange die Einstellung nur eine Zahl beinhaltet...

Wenn ich jetzt aber einen Buchstaben bzw. einen Text eintrage, dann steht dieser drinnen.

Jetzt habe ich versucht den Fehler mit einer if-Abfrage abzufangen, die wie folgt lautet:
PHP-Code:
if (!is_numeric($time) || time<=|| $time="")
    {
        
$time=5
    } 

Dann komm ich auf ein weiteres Phänomen drauf...
Wenn es eine Zahl ist, dann kommt er nicht in die Abfrage hinein, obwohl eigentlich nichts drinnen steht in $time. Dabei sollte, wenn nichts drinnen steht er ja trotzdem reinspringen...

Folglich nehme ich an, dass trotzdem was drinnen steht und habe versucht die Einstellung mittels
PHP-Code:
$time=trim($mybb->settings['time']); 
zu reduzieren, damit sicher kein Leerzeichen vorne und hinten befinden, das hat aber auch nichts gebracht...

Kann mir wer helfen?!

MfG Megaleecher
Höre nie auf besser zu werden, weil dann hast du aufgehört gut zu sein.
Zitieren
#2
versuch ma lieber if(isset($time))
http://de.php.net/manual/de/function.isset.php
Zitieren
#3
Das MyBB unterscheidet gar nichts bei dem Wert. Wenn die Einstellung vorhanden ist, ist die Variable auch definiert. Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#4
Also bei mir setzt MyBB die Einträge grundsätzlich als Strings, selbst wenn es Zahlen sind. Siehe settings.php. Schau doch mal was da bei dir drinsteht?

PHP-Code:
$settings['google_seo_url_forums'] = "51"

$var=wert in einem if zu machen ist entweder ein Fehler oder schlechter Stil. Vielleicht kommt die leere Variable bei dir eh daher, dass du sie selber auf leer setzt, weil du = statt == machst...

'time' ist auch ein schlechter name fuer ein Setting, da er nicht unbedingt eindeutig ist. Du solltest lieber pluginname_ jedem setting voranstellen.
Zitieren
#5
Zitat:$var=wert in einem if zu machen ist entweder ein Fehler oder schlechter Stil. Vielleicht kommt die leere Variable bei dir eh daher, dass du sie selber auf leer setzt, weil du = statt == machst...

Es gibt ja doch ncoh Leute, die sich den Code genau anschauen^^

Danke das zweite = hat gefehlt :p

Und wegen den Namen...

Ich habe die hier nur so benutzt, damit man den zusammenhang erkennt.
In meinen Plugins haben die Einstellungen und Variablen eh alle aussagekräftige Namen Wink

Ich danke auch allen anderen, für ihre mühen.
Man schreibt sich bestimmt wieder^^

MfG Megaleecher
Höre nie auf besser zu werden, weil dann hast du aufgehört gut zu sein.
Zitieren