Message: Undefined offset: 0

anjaw

Moderator
Mitarbeiter
Team
Mitglied seit
30 November 2004
Beiträge
1.713
Danke
124
#1
Hallo,

ich bekomme bei meinem Skript folgenden Fehler:
A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 0

PHP:
<table>

<?php if ($custom_fields['invoice']['oepnv_auto'] === true) { ?>

<tr>
    <th>Datum</th>
    <th>Einsatzdauer</th>
    <th>ÖPNV</th>
    <th>Fahrtzeit Hin- und Rück</th>
    <th>Summe</th>
</tr>
<tr>
    <td> </td> <!-- Datum / Leere Spalte??? -->
    <td>
        <?php echo $custom_fields['invoice']['einsatzdauer_betrag'] .' €/Std.'; ?> <!--Einsatzdauer -->
    </td>
    <td>
        <?php echo $item->product_price .     ' €'; ?> <!--ÖPNV/Fahrtkosten -->
    </td>
    <td>
        <?php echo $custom_fields['invoice']['fahrtzeit_betrag'] . ' €/Std'; ?> <!--Fahrzeit -->
    </td>
</tr>

<?php } else { ?>

<tr>
    <th>Datum</th>
    <th>Einsatzdauer</th>
    <th>Fahrtkosten</th>
    <th>Fahrtzeit Hin- und Rück</th>
    <th>Summe</th>
</tr>
<tr>
<td> </td> <!-- Datum / Leere Spalte??? -->
    <td>
        <?php echo $custom_fields['invoice']['einsatzdauer_betrag'] .' €/Std.'; ?> <!--Einsatzdauer -->
    </td>
    <td>
        <?php echo $custom_fields['invoice']['fahrtkosten_betrag'] .     ' €'; ?> <!--ÖPNV/Fahrtkosten -->
    </td>
    <td>
        <?php echo $custom_fields['invoice']['fahrtzeit_betrag'] . ' €/Std'; ?> <!--Fahrzeit -->
    </td>
</tr>
<?php } ?>


</table>
Nimm ich das if/else-Konstrukt raus, dann funktioniert es.
Leider finde ich den Fehler nicht. :(

Gruß
Anja
 

Amari

Administrator
Mitarbeiter
Team
Mitglied seit
16 April 2006
Beiträge
6.473
Danke
407
#2
Es ist hilfreich wenn du rausfindest welche Zeile fehlerhaft ist. Wenn du kein Debugger wie z.B. xDebug nutzt, dann musst du das von Hand machen.

Du kannst var_dump(); und die(); nutzen um zu testen bis zu welcher Zeile er fehlerfrei kommt. Die Breakpoints schiebst du dann so lange zeilenweise weiter runter bis du die Stelle findest an der der Fehler ist. ;)
 

anjaw

Moderator
Mitarbeiter
Team
Mitglied seit
30 November 2004
Beiträge
1.713
Danke
124
#3
xDebug hab ich installiert und lt. Anleitung auch die php.ini angepasst.
Wenn ich auf Debuggen geh, muss ich eine Umgebung auswählen. Hier nimm ich PHP, das er mir anbietet. Wenn ich jetzt einen Breakpoint gesetzt habe, dann sagt er mit nach dem Start von Debug, dass keine Probleme erkannt wurden im Ausgabebereich bzw. in der Debugging-Konsole zeigt er mir gar nichts an. Ich kann dann auch nicht mit F11 den nächsten Schritt ausführen, da er nur F5 annimmt zum erneuten Starten von Debuggen. Als Programm verwende ich Visual Studio Code.
 

anjaw

Moderator
Mitarbeiter
Team
Mitglied seit
30 November 2004
Beiträge
1.713
Danke
124
#4
Mit xDebug hab ich keine Fehler bekommen.
Aber nach vielem Suchen im Code habe ich diesen endlich gefunden.
Es war mitten drin ein </table> zu viel. :mad::rolleyes:
 
Oben