Neue Felder für Nickpage

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

mhh, viel weiter hat mich das nicht gebracht...

wenn ich nichts "ankreuze", kommt die fehlermeldung:

Code: Alles auswählen

Warning: implode() [function.implode]: Bad arguments. in /home/httpd/vhosts/.../httpdocs/nickpage_admin.php on line 188

Warning: implode() [function.implode]: Bad arguments. in /home/httpd/vhosts/.../httpdocs/nickpage_admin.php on line 192
Wenn ich verschiedene sachen ankreuze, sehe ich oben

Code: Alles auswählen

ArrayArray
und das nächste mal beim bearbeiten ist nur die allererste Option angekreuzt, sonst nichts....

Das selbe Problem habe ich bei den radio buttons. Es wird einfach nicht angezeigt, was das letzte Mal ausgewählt wurde...
Zuletzt geändert von phillip am 23.04.2007 21:56, insgesamt 1-mal geändert.
Pingu625

Beitrag von Pingu625 »

Hi

Dein Forum hat anscheinend Probleme mit den Parametern der Funktion implode()...

Was das genau sein kann ist schwer zu sagen.

Ich werde den Mod mal bei mir selbst testen, und schauen, ob es nur ein Einbaufehler ist, oder woran es liegt!

Pingu
MrJack
Mitglied
Beiträge: 6
Registriert: 19.06.2007 23:20

Beitrag von MrJack »

also ich weiß zwar nicht, ob das noch einen interessiert, aber ich schreib trotzdem mal was ich geschafft habe ^^ (und das fast ohne php kenntnisse ;) )
mit den checkboxen hatte ich auch die selben probleme, aber ich weiß jetzt woran es liegt:

1. fehler: "Warning: implode() [function.implode]: Bad arguments."
#
#-----[ OPEN ]------------------------------------------
#
nickpage.php

#
#-----[ FIND ]------------------------------------------
#
if($row['user_id'] != "" AND ($userdata['username'] == $_GET['admin'] OR $userdata['user_level'] == ADMIN))
{

#
#-----[ AFTER, ADD ]------------------------------------------
#
$HTTP_POST_VARS['extrafield1'] = array();
so erreicht man, dass der fehler nicht mehr angezeigt wird.... aber so funktioniert dann leider das mit den checkboxen nicht mehr...
--> also scheint es an ner falschen position zu stehen oder sowas.
aber denke mal, dass man diese variable als array deklarieren muss.

jetzt muss nur noch einer mit php kenntnisse kommen und mir sagen, wo man das richtig macht ;)


####################################################################
2. Fehler: beim wiederholten bearbeiten waren die checkboxen nicht mehr auf check
#
#-----[ FIND ]------------------------------------------
#
$extrafield1_options = explode(', ', $row['extrafield1']);

#
#-----[ AFTER, ADD ]------------------------------------------
#
#die "13" bzw "12" ist da, weil ich soviele checkboxen habe
#

for($lol = 1; $lol < 13; $lol++)
{
$k_options[$lol-1] = $lang['extrafield1_option'.$lol];
}
$ko_options[] = " ";
for($lol = 0; $lol < 12; $lol++)
{
for($rofl = 0; $rofl < 12; $rofl++)
{
if($k_options[$lol] == $extrafield1_options[$rofl])
{
$ko_options[$lol] = $k_options[$lol];
}
}
}

#
#-----[ FIND ]------------------------------------------
#
'Webseite' => $row['user_website'],

#
#-----[ AFTER, ADD ]------------------------------------------
#
'EXTRAFIELD1_OPTION1' => ($ko_options[0] == $lang['extrafield1_option1']) ? "checked=\"checked\"" : "",
'EXTRAFIELD1_OPTION2' => ($ko_options[1] == $lang['extrafield1_option2']) ? "checked=\"checked\"" : "",

# [...]
#
#-----[ ENDE ]------------------------------------------
und das funktioniert sogar komplett^^ - kann aber sein, dass das nicht so effektiv ist.
bin aber halt wie gesagt eher ein designer als ein programmierer.

aber wäre jedenfalls nett, wenn einer das mit dem error da oben hinbekommt... ;)
Pingu625

Beitrag von Pingu625 »

Hi,

also erstmal ein Lob an MrJack, denn die 2. Lösung ist gut so. :)

Und nun erkenne ich auch meinen Denkfehler hierbei. Mein Code hätte nur funktioniert, wenn die erste und darauffolgende Checkboxen aktiviert wurden.

Ich werde deine Funktion in ein kleines Update packen. ;)

Zum ersten Code muss ich jedoch fragen:
Wozu änderst du was an der nickpage.php?
Müsste das nicht in die nickpage_admin.php?

Außerdem müsste PHP doch normalerweise von selbst erkennen, dass es ein Array ist.

Dann erkläre bitte noch den Satz:
"aber so funktioniert dann leider das mit den checkboxen nicht mehr"

Pingu
MrJack
Mitglied
Beiträge: 6
Registriert: 19.06.2007 23:20

Beitrag von MrJack »

Müsste das nicht in die nickpage_admin.php?
ups... ja klar ist es da ;)
Außerdem müsste PHP doch normalerweise von selbst erkennen, dass es ein Array ist.
naja ich habe nicht wirklich ahnung von php. habe aber mal gegoogled und da meinte irgendwo einer, dass der fehler mit dem implode() behoben wird, wenn man die variable validiert (oder so ähnlich) [das war aber nicht auf phpbb bezogen.
aber das habe ich mal ausprobiert und danach war der fehler auch nicht mehr da.
nun scheint aber das array immer als leer deklariert, was zur folge hat, dass keine checkbox mehr als "checked" makiert wird (also so interpretiere ich das. weiß aber nicht genau, ob es wirklich so ist).
ich hoffe du verstehst was ich meine. würde gerne den fehler auch noch irgendwie beheben, da das ja unschön aussieht, wenn da auf einmal ein error auftaucht :D
Pingu625

Beitrag von Pingu625 »

Dann probiere erstmal folgendes aus:

Finde in deinem Code:

Code: Alles auswählen

$HTTP_POST_VARS['extrafield1'] = array();
Ersetze mit:

Code: Alles auswählen

$extrafield1_validate = array();
$extrafield1_validate = $HTTP_POST_VARS['extrafield1'];
$HTTP_POST_VARS['extrafield1'] = array();
$HTTP_POST_VARS['extrafield1'] = $extrafield1_validate;
Das ist zwar umständlich, aber eine Notlösung ist es ;)

Pingu
MrJack
Mitglied
Beiträge: 6
Registriert: 19.06.2007 23:20

Beitrag von MrJack »

hmm ne geht leider immer noch nicht...

gibt es vielleicht eine möglichkeit, dass die fehlermeldung bei diesem vorgang ausgeschalten wird?

es funktioniert ja eigentlich... nur halt die fehler ausgabe nervt :(
Chapterii
Mitglied
Beiträge: 13
Registriert: 17.07.2006 16:19

Beitrag von Chapterii »

Hallo,
Ich würde den mod gerne installieren bzw. downloaden, aber der is iwie nicht mehr online! kann mir den jemand zur Verfügung stellen?
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“