Forum > Bug: Kein Clan wird zu 0
DOTLAN Intranet / Portal >> Probleme und Fehler > Bug: Kein Clan wird zu 0 |
Antwort erstellen |
Autor | Thema: Bug: Kein Clan wird zu 0 | ||||
|
|
||||
NEW Clan: LANbada Postings: 65 |
Bug Wenn man "Kein Clan" auswählt und dann sein eigenes Profil editiert, wird aus "Kein Clan" eine "0" (null). [Editiert von mes am 01.Mar.2006 um 16:52] |
||||
|
|
||||
NEW Clan: LANbada Postings: 65 |
nachtrag: das problem tritt wohl auch mit ICQ auf, ich habe hier einige user, die als icq-uin eine 0 im profil haben...
|
||||
|
|
||||
NEW Clan: LANbada Postings: 65 |
Noch ein Nachtrag: Der Fehler sieht im Quelltext so aus: <select style="width: 100%;" name="data[myaccount__clan_select]"> <option value="Kein Clan" selected >Kein Clan</option> <option value="#bionic-clan">#bionic-clan</option> <option value="#clan-ibc">#clan-ibc</option> <option value="#coz | clan of zabo">#coz | clan of zabo</option> <option value="#mtb">#mtb</option> <option value="#plaGe">#plaGe</option> <option value="#vom-feinsten">#vom-feinsten</option> <option value="0" selected >1337</option> <option value="1">707</option> [Editiert von mes am 11.Mar.2006 um 10:44] |
||||
|
|
||||
NEW Clan: LANbada Postings: 65 |
Hat den niemand anders diesen Fehler?? Das mit dem doppeltem selected kann ich eigentlich nicht selber verursachen, oder? Noch wichtiger: Der Fehler tritt bei 1.2.3 nimmer noch auf! Ach so: noch was <option value="1">707</option> das stimmt net überein! [Editiert von mes am 15.Mar.2006 um 08:41] |
||||
|
|
||||
NEW Clan: Zocker Group Siegen e.V. Postings: 244 |
Also wenn man beim Registrieren "Kein Clan" auswählt, sich einloggt und dann die Benutzerdaten ändert steht da statt "Kein Clan" eine "0"? Das ist bei mir nicht so.
|
||||
|
|
||||
NEW Clan: dotlan.net Postings: 1252 |
Das Problem liegt weiter in PHP: Grund ist das PHP beim Speichern Wert (string)"0" als ArrayIndes Wert daraus eine (int)0 macht. Und (int)0 == "" ergibt TRUE was zur falschen Auswahl des Clans führt. Ich bin noch dran. Muss mir da irgendwas einfallen lassen. [Editiert von Griffon am 15.Mar.2006 um 11:30] |
||||
|
|
||||
NEW Clan: LANbada Postings: 65 |
also der fehler tritt wohl bei allen clans auf, die nur aus ziffern bestehen!!!! workaround: 1. in der db von hand alle clans editieren, die nur aus ziffern bestehen 2. in der custon.user.php diesen fall verbieten (2x !!)
|
||||
|
|
||||
NEW Clan: dotlan.net Postings: 1252 |
Das wäre eine Alternative, das ist richtig. Aber irgendwie muss das auch anderes gehen. Mal am Wochenende in der Nachtschicht nachschauen was ich da vielleicht besser machen kann. P.S.: Denk dran das du das für register und myaccount änderst. [Editiert von Griffon am 15.Mar.2006 um 13:07] |
||||
|
|
||||
NEW Clan: Kein Clan Postings: 43 |
ganz einfach:
das ergibt false |
||||
|
|
||||
NEW Clan: dotlan.net Postings: 1252 |
CZI: danke, aber das ist mir schon bewußt. Blöd bin ich nunmal auch nicht. Aber das === kann unteranderem auch genau das gegenteil produzieren wenn man die Daten durch mehrfache übergabe in PHP selbst und beim auslesen aus der running config, den aktuellen userdaten und der Datenbank hin und her schiebt dann verändert sich nunmal sehr leicht (grade weil es php ist) der Variablentyp. Und dann würde dein === an anderer Stelle wieder genau das gegenteil produzieren, nämlich die nicht korrekte Auswahl einer zuvor getroffenen Datenänderung. Allein schon der Fall das beim speichern von $arr = array( (string)'0' => 'blafasel'); der variablen typ von key($arr) ein integer ist und nicht wie zuvor abgespeichert ein String sollte einem schon zu denken geben. [Edited by Griffon at 17.Mar.2006 and 02:47] |
||||
|
|
||||
NEW Clan: LANbada Postings: 65 |
Vielleicht versteh ich das hier falsch, aber so ein int(0) oder sonstwas kann aus dem Clannamen auch keine 1 machen ?! Der Fehler liegt doch dann woanders... |
||||
|
|
||||
NEW Clan: Kein Clan Postings: 43 |
ja, ich hatte das auch nicht behauptet, aber aus eigener erfahrung weiß ich, dass man gelegentlich das offensichtliche übersieht. war ja nur ein vorschlag. und dass PHP '0' gleich behandelt wie 0 kann ich irgendwo nachvollziehen. die sprache hat nunmal keine strikte typentrennung wie C oder so. und da hast du recht, das kann natürlich passieren, dass das dann wieder nicht hinhaut. kann mann dann nicht (string)0 === "" machen? oder sowas in der art. [Editiert von C.ZI am 17.Mar.2006 um 18:49] |
||||
|
|
||||
NEW Clan: dotlan.net Postings: 1252 |
Wohl eher nicht. Das mit icq 0 würde ich anders deuten. Früher war das ICQ Feld bei mir eine Integer Zahl. Und da gibt es nunmal nur zahlen und so wurde aus '' eine 0. |
||||
|
|
||||
NEW Clan: dotlan.net Postings: 1252 |
Hierzu habe ich eine Erklärung gefunden. PHP beim speichern von '707' als arrayindex eine Zahl draus macht denkt php hier anders. beim anschließenden array_merge in der custom.user.php wird aus der 707 eine 1. das habe ich abe schon verhindern können |
||||
|
|
||||
NEW Clan: dotlan.net Postings: 1252 |
Ist mit Version 1.2.3a behoben. Siehe news
|
||||
[ Antwort erstellen ] |