Ankündigung

Einklappen
Keine Ankündigung bisher.

Abfrage im if ob Variable leer ist

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Abfrage im if ob Variable leer ist

    Hallo,

    ich habe das Tool Invoiceplane (Rechnungsprogramm das auf einem Webserver läuft) installiert und bin gerade am Template für eine Rechnung zum erstellen.
    Meine php-Kenntnisse sind sehr rudimentär vorhanden. Mit Programmierung bin ich schon in meiner Ausbildung auf Kriegsfuss gestanden.

    Ich habe folgendes Problem und hoffe, dass ihr mir helfen könnt.

    In dem Tool habe ich eine benutzerdefinierte Variable ($custom_fields['client']['anspruchnehmer']) angelegt, die man befüllen kann, aber nicht muss.
    In dem Template will ich jetzt prüfen, ob die Variable leer ist, dann soll die Zeile leer bleiben bzw. wenn was drin ist mit dem Inhalt ausgefüllt werden.

    Mein Code schaut folgendermaßen aus:

    Code:
    <div class="termin">
            <table>
                <tr>
                    <td><?php echo 'Einsatzort:' ?></td><td><?php echo $custom_fields['invoice']['einsatzort']; ?></td>
                </tr>
                <tr>
                    <td><?php echo 'Einsatzart:' ?></td><td><?php echo $custom_fields['invoice']['einsatzart']; ?></td>
                </tr>
     <tr><?php if (empty($custom_fields['client']['anspruchnehmer']));?>
                            {
                                echo <br/>;
                            }
                        else
                            {
                                <td><?php echo 'Anspruchnehmer:'; ?></td><td><?php echo $custom_fields['client']['anspruchnehmer']; ?></td>
                            }
                </tr>
            </table>
        </div>
    Mein Problem ist jetzt, dass er immer Anspruchnehmer: schreibt und dahinter ist es leer, da ja in dem Feld nichts drin steht. Aber wenn die Variable leer ist, soll er Anspruchnehmer auch nicht schreiben.
    Ich finde den Fehler leider nicht.

    Gruß
    Anja

  • #2
    Schau dir mal den HTML-Quelle-Code im Browser, dann siehst du dein Fehler sofort.

    Kommentar


    • #3
      So, ich hab da mal PHP Format Tags um edinen Code gehauen .. da fällt dir dann das auf, was K313 angesprochen hat ..
      Dein PHP Quelltext befindet sich nur teilweise in php Tags ... ein Teil steht einfach plain im HTML ... und ist dort dann einfach Text
      PHP-Code:
      <tr><?php if (empty($custom_fields['client']['anspruchnehmer']));?>
      {
          echo <br/>;
      }
      else
      {
          <td><?php echo 'Anspruchnehmer:'?></td><td><?php echo $custom_fields['client']['anspruchnehmer']; ?></td>
      }
      </tr>

      Kommentar


      • #4
        Wenn du Kontrollstrukturen im Template verwendest empfehle ich die Nutzung des alternativen Syntax
        http://php.net/manual/de/control-str...ive-syntax.php

        Aber das ist auch immer auch Geschmackssache

        PHP-Code:
        <tr>
        <?php if (empty($custom_fields['client']['anspruchnehmer'])): ?>
            <!-- das br gibt hier dann aber falsches HTML, da innerhalb eines TR erstmal nur TD elemente geben sollte oder TH Elemente-->
            <!-- das dann bitte noch korrigieren ;-) -->
            <br/>

        <?php else: ?>
            <td>Anspruchnehmer:</td><td><?= $custom_fields['client']['anspruchnehmer'?></td>
        <?php endif; ?>
        </tr>

        Kommentar


        • #5
          Ja das hatte ich gerade gesehen.
          Ich werd mir das morgen nochmals anschauen und korrigieren. Danke erstmal für eure Hilfe.

          Die alternative Syntax werde ich erstmal nicht verwenden. Bin froh, dass es so schon klappt...

          Kommentar


          • #6
            Fehler wurde gefunden und bereinigt.
            Danke für eure Hilfe.

            Kommentar


            • #7
              MOD: Verschoben von HTML ...

              Kommentar

              Lädt...
              X