Anfängerfrage: was genau ist Undefined offset und wie behebe ich so etwas?
|
|
Catzenjaeger |
Geschrieben am 23.06.2016 um 08:37
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
wie der Titel schon sagt suche ich eine verständliche Erklärung was genau hier los ist. soweit ich gegoogelt habe, werden andere Werte als erwartet geliefert ... ich tue mich aber schwer damit die passende Stelle zu finden und überhaupt erst mal die Stelle zu finden. Ich schaue immer im Quelltext der Datei nach Zitat: z.B hier die Fehlermeldung in Version 9 admin/admin_figurelib_manufacturers.php /test/infusions/figurelib/admin.php?aid=xxxxxxxxxx§ion=figurelib_manufacturers&action=edit&man_id=114 Undefined offset: 1 Line: 109 ich rufe hier die Datei /test/infusions/figurelib/admin.php?..... auf und schau in deren Quelltext nach Zeile 109 da steht dann: Code 106 <li> also ne Liste .. ich stehe komplett aufm Schlauch was ich genau machen müsste . Laut Google irgendwas mit isset abfangen aber wo? |
|
|
Wemi |
Geschrieben am 23.06.2016 um 09:34
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Hast du dich nicht verzählt? Die Zeilen Angabe bezieht sich auf den Quelltext deiner Datei, nicht auf den Seitenquelltext im Browser. "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 23.06.2016 um 09:47
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
ah danke für den Hinweis .. ich dachte im Quelltext des Browsers weil er es ja übersetzt und darstellt ... also wenn es die Manufaftuer Datei sit dann wäre das hier: Code if ($figureMan_edit) { Zeile 109 wäre das hier: $data['man_sort_order'] = $man_sorting[1]; |
|
|
Wemi |
Geschrieben am 23.06.2016 um 10:20
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
$man_sorting[1] ist dann leer. Heisst in der Tabelle figure_manufacturer_sorting ist dann ein Eintrag, bzw. bei dem explode kommt nur ein Ergebnis bei raus. Also Code if(isset($man_sorting[1])){ "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 23.06.2016 um 10:25
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
Zitat: Wemi schrieb:......Heisst in der Tabelle figure_manufacturer_sorting ist dann ein Eintrag, bzw. bei dem explode kommt nur ein Ergebnis bei raus....... danke für die Antwort ... das könnte sein weil in der Tabelle gibt es zwar die spalte sorting aber da steht nichts drin. Was müsste ich den nun genua machen? die Tabelle mit einen Wert füllen zB ASC ? also in meinen Kategorie Tabelle steht bei sotring : figure_id ASC Die manufactuer und brand sind ja praktisch identische Tabellen mit den gleichen Spalten und Bezeichnungen achso vergessen hier der ganze Part mit besagter zeile 109 Code if ($figureMan_edit) { Bearbeitet von Catzenjaeger am 23.06.2016 um 10:47 |
|
|
Wemi |
Geschrieben am 23.06.2016 um 11:19
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Entweder einen default Wert eintragen, oder mit isset prüfen, ob da was drin steht.
"Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 23.06.2016 um 11:32
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
was ist den besser? Vom rein logischen würde ich jetzt als Anfänger sagen isset abfangen weil wenn man vergisst den wert sorting bei Neu-anlegen eines Manufactuerees anzugeben wäre die spalte ja wieder leer und der Fehler würde wieder kommen. Bei meinen Kategorien wird schon bei installation figure ACS automatisch eingetragen. Dort tritt der Fehler nicht auf Die Frage die auch aufkommt was mache ich wenn ich mittels issed prüfe und es kommt nichts zurück ... bei issed wird wohl abfefragt ob true oder false ... bei true ... gehe ich davon aus soll das script weiter laufen ... und was bei false ..???? stoppen soll es ja nicht .. oder müsste dann dafür ein (in diesen Fall sorting) ein wert gesetzt werden? schweres Thema ![]() |
|
|
Wemi |
Geschrieben am 23.06.2016 um 11:54
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Besser wäre, wie in den anderen Tabellen auch, da einen default Wert zu hinterlegen. Dann gehst du dem völlig aus dem Weg.
"Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
|
Catzenjaeger |
Geschrieben am 23.06.2016 um 12:06
|
![]() Senior Mitglied ![]() Beiträge: 341 Registriert am: 23.09.14 |
ja das wäre ja schnell umsetzbar ... die Frage die mir aber stelle ist, ... was ist wenn man einen neuen Manufakturer anlegt und das Feld sorting nicht wählt? ich frage mich so wieso warum es überhaupt dieses sorting gibt. Weil das ist ja nicht übergreifend für alle Manufakturer sondern pro Manufakturer. Heißt, es könnte dann auch diverse werte in der DB geben. so sieht das ganze momentan aus: siehe Bild Also auf deutsch/anfängerisch gefragt -- was macht dieses sorting überhaupt genau ![]()
Catzenjaeger hat folgende Datei angehängt:
|
|
|
Wemi |
Geschrieben am 23.06.2016 um 17:31
|
![]() Senior Mitglied ![]() Beiträge: 235 Registriert am: 13.02.14 |
Wenn man dann beim Feld sorting nichts auswählt, dann trägt MySQL die default Werte ein. Dafür sind diese ja gedacht. Und der Vorteil liegt dann auf der Hand, man hat dadurch, dass es keine NULL Werte in den Feldern gibt eben auch keine Fehlermeldungen. Dein sorting soll bei einer Suche oder auch bei der Hauptseite entweder aufsteigend oder absteigend sortieren. Dabei kannst du noch auswählen, welche Tabelle er entsprechend sortieren soll (zur Zeit nach der figure_id). "Es geht hier um die Frage, ob die Menschheit ohne Religion besser dastünde. Und ich sagte: ja" Ben Moore
|
|
Springe ins Forum: |