carsten schlichting: header ? :

Hallo

http://aktuell.de.selfhtml.org/tippstricks/php/loginsystem/index.htm

hier versteh ich folgenden code in auth.php nicht:

header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php');

das ganze script geht so:

session_start();

$hostname = $_SERVER['HTTP_HOST'];
      $path = dirname($_SERVER['PHP_SELF']);

if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {   //Überprüfung bestehender account angemeldet ist
       header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php');
       exit;
      }

im PHPHandbuch steht ähnliches z. B:

header("Location: http://".$_SERVER['HTTP_HOST']
                      .dirname($_SERVER['PHP_SELF'])
                      ."/".$relative_url);

welche Aufgabe hat denn jetzt

($path == '/' ? '' : $path)

und wie muß man den befehl verstehen?

Grüße von mir carsten

  1. Hallo carsten.

    welche Aufgabe hat denn jetzt

    ($path == '/' ? '' : $path)

    und wie muß man den befehl verstehen?

    Wenn der Inhalt von $path dem Wert '/' entspricht (wir uns also im DOCUMETN_ROOT befinden), dann gib '' aus, ansonsten gib den Inhalt von $path aus.

    Der Fachbegriff für dieses Konstrukt ist mir momentan entfallen.

    Einen schönen Mittwoch noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. Hi,

      Der Fachbegriff für dieses Konstrukt ist mir momentan entfallen.

      Bedingungsoperator (der übrigens mit header() nichts zu tun hat), einer der wenigen trinären Operatoren.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hallo Don Quicheatah.

        Bedingungsoperator (der übrigens mit header() nichts zu tun hat), einer der wenigen trinären Operatoren.

        „Trinärer Operator“, das ist es. Danke.

        Einen schönen Mittwoch noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
      2. Hallo Cheatah

        Bedingungsoperator (der übrigens mit header() nichts zu tun hat), einer der wenigen trinären Operatoren.

        Nicht nur mir eher unter ternärer Operator bekannt :-)

        Ein paar weitere Quellen:
        http://msdn.microsoft.com/library/DEU/jscript7/html/jsoprconditional.asp,
        http://www.ica1.uni-stuttgart.de/~matthias/script/node31.html,
        http://www.oreilly.de/catalog/einperl3ger/chapter/perlSIX.html

        Mein Wahrig (von 1968, ein Erbstück) kennt "trinär" nicht, "ternär" dagegen schon:
        dreifach, dreigliedrig, [...] [ < frz. ternaire "dreimal" < lat. ternarius].

        Freundliche Grüße

        Vinzenz

        1. Hi,

          Mein Wahrig (von 1968, ein Erbstück) kennt "trinär" nicht, "ternär" dagegen schon:
          dreifach, dreigliedrig, [...] [ < frz. ternaire "dreimal" < lat. ternarius].

          ich kenne beide Bezeichnungen, nebst einer dritten, "Trinitätsoperator" oder so ähnlich. Die finde ich aber bescheuert :-)

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
    2. danke

      also der fachbegriff lautet fragezeichenoperator ;-)

      das ist hier im buch nur erwähnt, aber nicht erklärt. Auch nicht im PHP Handbuch

      Gruß von mir

      carsten

    3. Hallo Ashura,

      Der Fachbegriff für dieses Konstrukt ist mir momentan entfallen.

      Laut php.net ist das der "dreifach konditionale Operator"... ;-)
      Deutlicher wird es so:

        
      $variable = ($bedingung) ? $wert1 : $wert2;  
      
      

      Er bedeutet: Wenn die Bedingung wahr ist, dann gebe $wert1 zurück - andernfalls $wert2.

      Der Ausdruck

      ($path == '/' ? '' : $path)

      bedeutet bei uns also: Wenn die Variable $path den Inhalt '/' hat, soll nichts zurückgegeben werden. Andernfalls soll die Variable $path zurückgegeben werden.
      Das Konstrukt ist anfangs nicht leicht zu verstehen, später wird es aber nahezu unentbehrlich.

      Grüße

      Marc Reichelt || http://www.marcreichelt.de/

      --
      Linux is like a wigwam - no windows, no gates and an Apache inside!
      Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
      http://emmanuel.dammerer.at/selfcode.html
      1. Hallo Marc.

        Der Fachbegriff für dieses Konstrukt ist mir momentan entfallen.

        Laut php.net ist das der "dreifach konditionale Operator"... ;-)

        Warum wird dieses Konstrukt nicht unter Kontrollstrukturen untergebracht?

        Im Grunde ist es schließlich nichts anderes, als ein sehr kurzes if-else-Konstrukt.

        Einen schönen Mittwoch noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. Hi,

          Warum wird dieses Konstrukt nicht unter Kontrollstrukturen untergebracht?

          weil es ein Operator ist.

          Im Grunde ist es schließlich nichts anderes, als ein sehr kurzes if-else-Konstrukt.

          Es hat eine Rückgabe. Die hat ein if-else-Konstrukt nicht. Darüber hinaus macht es separat - also als Kontrollstruktur - keinen Sinn; zumindest nicht mehr als "36;".

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Hallo Don Quicheatah.

            Im Grunde ist es schließlich nichts anderes, als ein sehr kurzes if-else-Konstrukt.

            Es hat eine Rückgabe. Die hat ein if-else-Konstrukt nicht.

            AFAIK gibt if immer „true“ zurück, oder irre ich mich?

            Darüber hinaus macht es separat - also als Kontrollstruktur - keinen Sinn; zumindest nicht mehr als "36;".

            Du meinst „42;“?

            Einen schönen Mittwoch noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
            Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. Hi Ashura!

              Darüber hinaus macht es separat - also als Kontrollstruktur - keinen Sinn; zumindest nicht mehr als "36;".
              Du meinst „42;“?

              Wenn du mir jetzt noch die Frage nennen kannst... ;-)

              MfG Hopsel

              --
              "It's amazing I won. I was running against peace, prosperity, and incumbency."
              George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
              Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
              1. Hallo Hopsel,

                Du meinst „42;“?

                Wenn du mir jetzt noch die Frage nennen kannst... ;-)

                Kein Problem. Geb mir nur etwas Zeit.

                Grüße

                Marc Reichelt || http://www.marcreichelt.de/

                --
                Linux is like a wigwam - no windows, no gates and an Apache inside!
                Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
                http://emmanuel.dammerer.at/selfcode.html
                1. Hallo Marc,

                  Du meinst „42;“?
                  Wenn du mir jetzt noch die Frage nennen kannst... ;-)

                  Kein Problem. Geb mir nur etwas Zeit.

                  Ja, kein Problem.
                  Siebeneinhalb Millionen Jahre?

                  *scnr*

                  Martin

                  1. Hallo Martin,

                    Du meinst „42;“?
                    Wenn du mir jetzt noch die Frage nennen kannst... ;-)

                    Kein Problem. Geb mir nur etwas Zeit.

                    Ja, kein Problem.
                    Siebeneinhalb Millionen Jahre?

                    Hmm - etwas mehr wird es schon brauchen. Schließlich habe ich nicht die Möglichkeit, meinen eigenen Planeten zusammenzubasteln. Aber wenn der Quantencomputer kommt wird's bestimmt leichter. ;-)

                    Grüße

                    Marc Reichelt || http://www.marcreichelt.de/

                    --
                    Linux is like a wigwam - no windows, no gates and an Apache inside!
                    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
                    http://emmanuel.dammerer.at/selfcode.html
                    1. Hi Marc!

                      Schließlich habe ich nicht die Möglichkeit, meinen eigenen Planeten zusammenzubasteln.

                      Ich hab gehört, mit CSS soll alles möglich sein. ;-)

                      MfG Hopsel

                      --
                      "It's amazing I won. I was running against peace, prosperity, and incumbency."
                      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
                      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
                      1. Hi,

                        Schließlich habe ich nicht die Möglichkeit, meinen eigenen Planeten zusammenzubasteln.
                        Ich hab gehört, mit CSS soll alles möglich sein. ;-)

                        mit CSS kannst Du zwar die Darstellung hinbekommen, aber bei der Logik wird's hapern.

                        Cheatah ;-)

                        --
                        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                        X-Will-Answer-Email: No
                        X-Please-Search-Archive-First: Absolutely Yes
                    2. Hallo Marc,

                      Ja, kein Problem.
                      Siebeneinhalb Millionen Jahre?

                      Hmm - etwas mehr wird es schon brauchen. Schließlich habe ich nicht die Möglichkeit, meinen eigenen Planeten zusammenzubasteln.

                      Ach komm, nun stell dich nicht so unbeholfen an.  ;-)
                      Lass dir mal von Magrathea ein unverbindliches Angebot kommen, dann sehen wir weiter. Bezahlen wirst du natürlich erst bei Lieferung.

                      Ciao,

                      Martin

                      1. Hallo Martin (ja ich habe dazugelernt! ;-),

                        Ja, kein Problem.
                        Siebeneinhalb Millionen Jahre?

                        Hmm - etwas mehr wird es schon brauchen. Schließlich habe ich nicht die Möglichkeit, meinen eigenen Planeten zusammenzubasteln.

                        Ach komm, nun stell dich nicht so unbeholfen an.  ;-)
                        Lass dir mal von Magrathea ein unverbindliches Angebot kommen, dann sehen wir weiter. Bezahlen wirst du natürlich erst bei Lieferung.

                        Adresse?
                        Und mit was bezahle ich dann? Mit Mäusen, oder eher Handtüchern? ;)

                        Grüße

                        Marc Reichelt || http://www.marcreichelt.de/

                        --
                        Linux is like a wigwam - no windows, no gates and an Apache inside!
                        Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
                        http://emmanuel.dammerer.at/selfcode.html
                        1. Hi!

                          Hallo Martin (ja ich habe dazugelernt! ;-),

                          *g*

                          Adresse?

                          ööööhm... ääh...

                          Und mit was bezahle ich dann? Mit Mäusen, oder eher Handtüchern? ;)

                          Du liebe Güte, gib nie dein Handtuch her!
                          Was weiß ich, welche Währung auf Magrathea am besten ankommt - ich hab doch noch keinen Planeten bestellt!

                          Gute Nacht,

                          Martin

                          --
                          Life! Don't talk to me about life!
                2. Hallo Marc,

                  Du meinst „42;“?
                  Wenn du mir jetzt noch die Frage nennen kannst... ;-)
                  Kein Problem. Geb mir nur etwas Zeit.

                  nun wissen wir wenigstens, wass Du unter "etwas" verstehst.
                  Etwas Geduld von Dir zu verlangen, wäre zuviel verlangt.

                  Freundliche Grüße

                  Vinzenz

            2. Hallo Ashura,

              Hallo Don Quicheatah.

              wo hast du denn _den_ her?  ;-)

              AFAIK gibt if immer „true“ zurück, oder irre ich mich?

              Nein, keineswegs. Ein if-Statement ist eine Kontrollstruktur und gibt nie einen Wert zurück. Wenn es das täte, müsste es möglich sein, eine Zuweisung in der Form
               $x = if (ausdruck)
              zu formulieren. Die kannst du natürlich formulieren, aber sie ist syntaktischer Unsinn.
              Davon abgesehen hätte ich bis zu einem gewissen Grad verstanden, wenn du behauptet hättest, if würde den boolschen Wert der Bedingung in der Klammer zurückgeben. Aber immer true? Wie kommst du darauf?

              Darüber hinaus macht es separat - also als Kontrollstruktur - keinen Sinn; zumindest nicht mehr als "36;".
              Du meinst „42;“?

              Genau.  :-)

              So long,

              Martin

              1. Hallo Martin.

                Davon abgesehen hätte ich bis zu einem gewissen Grad verstanden, wenn du behauptet hättest, if würde den boolschen Wert der Bedingung in der Klammer zurückgeben. Aber immer true? Wie kommst du darauf?

                Ja, mein Fehler.
                Wenn die Bedingung nicht zutrifft liefert if natürlich „false“ zurück.

                Einen schönen Mittwoch noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
                1. echo $begrüßung;

                  Wenn die Bedingung nicht zutrifft liefert if natürlich „false“ zurück.

                  Nein,

                  $a = if ...

                  liefert nichts weiter als einen Parser error zurück.

                  echo "$verabschiedung $name";

                  1. Hallo dedlfix.

                    Wenn die Bedingung nicht zutrifft liefert if natürlich „false“ zurück.

                    Nein,

                    $a = if ...

                    liefert nichts weiter als einen Parser error zurück.

                    Du weißt genau, dass ich _das_ nicht meinte.

                    Einen schönen Mittwoch noch.

                    Gruß, Ashura

                    --
                    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                    30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                    Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                    [Deshalb frei! - Argumente pro freie Software]
                    1. echo $begrüßung;

                      Du weißt genau, dass ich _das_ nicht meinte.

                      Nein, denn sonst hätte ich meine Antwort nicht gepostet. Du scheinst dich dann so unglücklich ausgedrückt zu haben, dass sowohl Der Martin als auch ich dich nicht verstanden haben.

                      echo "$verabschiedung $name";

                      1. Hallo dedlfix.

                        Du weißt genau, dass ich _das_ nicht meinte.

                        Nein, denn sonst hätte ich meine Antwort nicht gepostet. Du scheinst dich dann so unglücklich ausgedrückt zu haben, dass sowohl Der Martin als auch ich dich nicht verstanden haben.

                        OK, akzeptiert.

                        Einen schönen Donnerstag noch.

                        Gruß, Ashura

                        --
                        Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                        30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                        Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                        [Deshalb frei! - Argumente pro freie Software]
              2. Hi,

                Hallo Don Quicheatah.
                wo hast du denn _den_ her?  ;-)

                Geklaut. Von mir. Siehe https://forum.selfhtml.org/?t=112691&m=713590

                cu,
                Andreas

                --
                Warum nennt sich Andreas hier MudGuard?
                Schreinerei Waechter
                Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            3. Hi,

              Darüber hinaus macht es separat - also als Kontrollstruktur - keinen Sinn; zumindest nicht mehr als "36;".
              Du meinst „42;“?

              Douglas Adams wurde mal in einem Interview gefragt, ob er irgend etwas anders machen würde, wenn er den Anhalter noch einmal schreiben würde. Nach langem zögern antwortete er, die Antwort wäre dann 36 gewesen.

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
              1. Hallo Cheatah.

                Darüber hinaus macht es separat - also als Kontrollstruktur - keinen Sinn; zumindest nicht mehr als "36;".
                Du meinst „42;“?

                Douglas Adams wurde mal in einem Interview gefragt, ob er irgend etwas anders machen würde, wenn er den Anhalter noch einmal schreiben würde. Nach langem zögern antwortete er, die Antwort wäre dann 36 gewesen.

                Jap, habe ich gelesen. ;-)

                Einen schönen Donnerstag noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
        2. Hallo Ashura

          Laut php.net ist das der "dreifach konditionale Operator"... ;-)

          Warum wird dieses Konstrukt nicht unter Kontrollstrukturen untergebracht?

          Vor allem sollte es unter Operatoren erläutert werden, dort fehlt übrigens auch erläuternder Text zum Komma-Operator, siehe auch mein Archivposting. Wunderbar fände ich es, wenn die einzelnen Operatoren in der Operator-Rangfolge verlinkt wären.

          Leider bin ich bisher noch nicht auf die Idee gekommen, diesen Vorschlag an die Verantwortlichen für die PHP-Doku zu mailen :-(

          Freundliche Grüße

          Vinzenz

          1. Hallo Vinzenz.

            Vor allem sollte es unter Operatoren erläutert werden,

            Richtig. Ich suche sehr oft nach diesem Operator, finde ihn aber nie. (Jaja, Lesezeichen würde helfen...)

            dort fehlt übrigens auch erläuternder Text zum Komma-Operator, siehe auch mein Archivposting.

            Wenn ich dies nun also richtig verstanden habe ist Folgendes erlaubt?

            if ($feld, $feld1, $feld2, $feld3, $feld4)=="")  
            {  
            # foo  
            }
            

            Wunderbar fände ich es, wenn die einzelnen Operatoren in der Operator-Rangfolge verlinkt wären.

            Leider bin ich bisher noch nicht auf die Idee gekommen, diesen Vorschlag an die Verantwortlichen für die PHP-Doku zu mailen :-(

            Wenn man nur immer das sofort machen würde, was man sich vorgenommen hat... ;-)

            Einen schönen Mittwoch noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
            Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. hi,

              Wenn ich dies nun also richtig verstanden habe ist Folgendes erlaubt?

              if ($feld, $feld1, $feld2, $feld3, $feld4)=="")

              {

              foo

              }

                
              nö.  
                
              vielleicht folgst du mal dem dortigen link in  
                
              
              > >  Er macht allerdings das gleiche wie sein Gegenstück in C, siehe [Komma-Operator in C](http://de.wikibooks.org/wiki/C-Programmierung:_Ausdr%c3%bccke_und_Operatoren#Komma-Operator_.2C).  
                
              gruß,  
              wahsaga  
                
              
              -- 
              /voodoo.css:  
              #GeorgeWBush { position:absolute; bottom:-6ft; }
              
              1. Hallo wahsaga.

                vielleicht folgst du mal dem dortigen link in

                Er macht allerdings das gleiche wie sein Gegenstück in C, siehe Komma-Operator in C.

                Habe ich. Doch das „[...] , wo nur einer erlaubt wäre.“ habe ich nicht wirklich erfasst.

                Einen schönen Mittwoch noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Day 21: Toolbars
                Meine Browser: Opera 8.02 | Firefox 1.0.6 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
            2. Wenn ich dies nun also richtig verstanden habe ist Folgendes erlaubt?

              if ($feld, $feld1, $feld2, $feld3, $feld4)=="")

              {

              foo

              }

                
              Abgesehen davon, dass irgendwo eine öffnende Klammer fehlt, ja.  
              Aber der Code ergibt keinen Sinn. Denn  
                if (($feld, $feld1, $feld2, $feld3, $feld4)=="")  
              hat genau dasselbe Ergebnis wie  
                if ($feld4=="")  
              Die vorangestellten Ausdrücke $feld bis $feld3 werden zwar ausgewertet (und falls es komplexe Ausdrücke sind, werden z.B. auch Funktionen aufgerufen), aber die Teilergebnisse dann verworfen.  
                
              Ciao,  
                
               Martin
              
              1. Hallo Der

                Wenn ich dies nun also richtig verstanden habe ist Folgendes erlaubt?

                if ($feld, $feld1, $feld2, $feld3, $feld4)=="")

                {

                foo

                }

                
                >   
                > Abgesehen davon, dass irgendwo eine öffnende Klammer fehlt, ja.  
                  
                Nö, ergibt (PHP 4.3.x) (auch mit der Klammer) einen "Parse Error" :-)  
                Siehe auch [wahsagas Posting](https://forum.selfhtml.org/?t=112701&m=713696). Das Problem liegt darin, dass der Komma-Operator eben \_nicht\_ den letzten Ausdruck als Wert zurückliefert.  
                  
                Aus diesem Grund fände ich eine Doku zum Komma-Operator hilfreich.  
                  
                  
                Freundliche Grüße  
                  
                Vinzenz
                
                1. Hallo Vinzenz,

                  Siehe auch wahsagas Posting. Das Problem liegt darin, dass der Komma-Operator eben _nicht_ den letzten Ausdruck als Wert zurückliefert.

                  Sondern?
                  In dem Posting, das du verlinkt hast, stellt wahsaga ganz treffend fest, dass der Komma-Operator in PHP dasselbe macht wie in C. Was er wirklich tut, erklärt aber der Wiki-Artikel, auf den er verweist, leider auch nicht. Nämlich die Teilausdrücke von links nach rechts der Reihe nach auswerten und das Ergebnis des letzten Ausdrucks als Gesamtergebnis abliefen.

                  Aus diesem Grund fände ich eine Doku zum Komma-Operator hilfreich.

                  Ja, unbedingt.
                  Ciao,

                  Martin

                  1. echo $begrüßung;

                    [Komma-Operator] Nämlich die Teilausdrücke von links nach rechts der Reihe nach auswerten und das Ergebnis des letzten Ausdrucks als Gesamtergebnis abliefen.

                    Müsste dieser Theorie folgend

                    $a = 42,43;

                    dann nicht was anderes als einen "Parse error: parse error, unexpected ',' in..." liefern?

                    Das Wikipedia-Beispiel hingegen funktioniert auch in PHP:

                    for ($i = 0, $j = 0; $i < 10; $i++, $j++)

                    echo "$verabschiedung $name";

                    1. Hallo,

                      Müsste dieser Theorie folgend
                        $a = 42,43;
                      dann nicht was anderes als einen "Parse error: parse error, unexpected ',' in..." liefern?

                      Yea, damnit!
                      Ich hab's gerade auch probiert.
                      Was also macht der Komma-Operator _wirklich_?
                      In C ist nämlich eine Anweisung wie z.B.
                       i++, j++;
                      an jeder Stelle okay - nicht nur in einem for-Statement. Und auch dein Beispiel von oben

                      a = 42,43;

                      wird in C genauso ausgeführt wie  a=42; 43;
                      Also ist der Komma-Operator in C und in PHP doch verschieden.

                      Das Wikipedia-Beispiel hingegen funktioniert auch in PHP:
                        for ($i = 0, $j = 0; $i < 10; $i++, $j++)

                      Ja, aber was bedeutet das nun wirklich?
                      *grübel*
                      So long, mein Bett ruft so langsam,

                      Martin