If-Anweisung anscheinend immer true

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

  • If-Anweisung anscheinend immer true

    Hallo. Ich habe ein kleines Problem. Innerhalb einer Funktion, welche unter anderem die Variable $hersteller übergeben bekommt, steht folgende If-Anweisung:

    PHP-Code:
    if ($hersteller<>"") {
     echo 
    "<TR><TD><B>Hersteller:</B></TD><TD>$hersteller</TD></TR>";

    Nun war $hersteller jedoch leer, die Zeile wurde aber immer noch angezeigt. Ich probierte ein wenig rum, und schließlich stellte ich fest, dass sogar folgende Anweisung die Zeile anzeigte:

    PHP-Code:
    if ($hersteller<>"" AND $hersteller=="" AND $hersteller) {
     echo 
    "<TR><TD><B>Hersteller:</B></TD><TD>$hersteller</TD></TR>";

    Ich verstehe ehrlich gesagt nicht, wie ein String gleichzeitig existieren, leer und nicht leer sein kann. Sieht jemand meinen Fehler? (ist wahrscheinlich irgendwas ganz blödes...)

    Grüße,
    Cyberdot

  • #2
    Würde es mal lieber folgendermaßen versuchen:
    PHP-Code:
    if (!empty($hersteller)) {
      echo 
    "<TR><TD><B>Hersteller:</B></TD><TD>$hersteller</TD></TR>";

    Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

    Kommentar


    • #3
      Wenn die Var leer sein kann würde ich empty() empfehlen. Diese Fkt findet auch nur ein Leerzeichen.
      If($hersteller)...
      muss true geben, denn die Fkt kriegt diesen Wert ja als Param übergeben.
      PHP-Code:
      if($hersteller && !empty($hersteller)){
          echo 
      "Hersteller = $hersteller";

      Diese Zeile müsste jetzt nur im Erfolgsfall angezeigt werden.

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Wunderbar, funktioniert, vielen Dank )

        Kommentar


        • #5
          Vielleicht einfach mal einen Blick ins Manual riskieren??

          http://www.php.net/manual/en/language.operators.php

          Such doch einfach mal den Operator für Ungleich heraus ... ist der <> ... oder != ... ??
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            @goth
            Gemäss meiner Google-Suche sind beide Operatoren für ungleich korrekt...
            Operatoren

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X