Onkel Schnitzel: Fehlermeldung: unexpected T_LOGICAL_AND

Hallo,

ich versuche gerade, mir eine Filterfunktion für mein Newsarchiv zu basteln (bin PHP-Anfänger). Dies ist die entscheidendes Stelle:

$status = $_GET['filter'];
    $auswahl = $_POST['archivfilter'];

if($status == "alles") AND ($auswahl == "alles") {.......

Diese Stelle soll folgendes bewirken: Wenn die if- Bedingung erfüllt ist, werden aus der Tabelle komplett  alle Daten herausgelesen. Wenn nicht, wird die Tabelle nur nach bestimmten Daten durchsucht. Standardmäßig wird erstmal alles angezeigt, denn im GET_array wird vorher der Wert 'alles' übergeben und auch im POST_array ist der Wert 'alles' vorselektiert (über ein Formular mit Auswahlliste). Sobald also in der Auswahlliste ein anderer Wert als 'alles' angeklickt wird, ist die Bedingung nicht mehr erfüllt und damit wird die Suchfunktion aktiviert. So also mein Plan...

Allerdings bekomme ich oben die Fehlermeldung: 'parse error, unexpected T_LOGICAL_AND'. Hab ich da nur irgendeinen Dreher drin oder hab ich das total falsch geschrieben?

Danke schonmal für Eure Mühe,
Onkel Schnitzel

  1. Hi Onkel,

    if($status == "alles") AND ($auswahl == "alles") {.......

    ^^^ Hier beendest du durch die ) ja die Bedingung - danach
                              würde PHP entweder { erwarten (einen Block) oder eine einzelne
                              Anweisung (solche kann aber nicht mit AND) beginnen.
    Jetzt klar? ;-)

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    Das Leben ist kein Warenhaus - es nimmt nichts zurück. (Anette Louisan)
    1. Hi,

      if($status == "alles") AND ($auswahl == "alles") {.......
                               ^^^ Hier beendest du durch die ) ja die Bedingung

      Ich geb dir sogar noch einen _besseren_ Tipp:
      if($status == "alles" && $auswahl == "alles") {.......

      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
      1. Hi Hopsel,

        Ich geb dir sogar noch einen _besseren_ Tipp:
        if($status == "alles" && $auswahl == "alles") {.......

        Das ist kein Tipp mehr, dass ist eine fertige Lösung ;-)

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
        Das Leben ist kein Warenhaus - es nimmt nichts zurück. (Anette Louisan)
        1. Hi,

          Ich geb dir sogar noch einen _besseren_ Tipp:
          if($status == "alles" && $auswahl == "alles") {.......
          Das ist kein Tipp mehr, dass ist eine fertige Lösung ;-)

          du kannst auch nur meckern. ^^

          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
    2. Jetzt klar? ;-)

      Jaaaa. Dafür meckert er jetzt über was anderes: 'Undefined index: archivfilter'. Anscheinend wurde das POST-array nicht übergeben (?) Naja, ich werd mal gucken, ob ichs selbst rauskrieg :-)

      Gruß und Danke,
      Onkel Schnitzel

      1. Mir qualmt der Kopf und ich komm nicht weiter. Ich habe überlegt, auch das Formular mit 'GET' zu verschicken, weil das die Sache vielleicht etwas vereinfacht. Ich verweise mit diesem Link auf mein Newsarchiv:
        "<a href="newsarchiv.php?page=1&filter=alles">Zum Newsarchiv</a>\n";

        Im Newsarchiv liegt dieses Formular mit einer Auswahlliste:
        "<form action="news_ar.php" method="get">\n";................

        und darunter include ich "news_ar.php"

        In der news_ar.php habe ich jetzt das Problem, daß es das Array 'page' nicht gibt. Es wird zwar nach newsarchiv.php gegeben, aber für die "news_ar.php" ist es anscheinend nicht verfügbar. Dadurch funktioniert die ganze weitere Verarbeitung mit LIMIT usw. nicht. Wie kann ich dafür sorgen, daß 'page' auch an "news_ar" weitergegeben wird? Eigentlich ist doch die Datei in "newsarchiv.php" included.

        Und dann gleich noch eine Frage. Wenn ich testhalber schonmal die Auswahlliste benutze, dann scheint das bis auf die Fehlermedungen zu'page' und die daraus resultierenden Fehler zu funktionieren, allerdings wird nur die reine "news_ar.php" angezeigt. Ich habe ja in "newsarchiv.php" das ganze Menü usw. zu liegen und ich dachte eigentlich, daß die "news_ar.php" dann wieder an die "newsarchiv.php" geschickt wird. Ist das ein grundsätzlicher Fehler in meinem Aufbau?

        Ich würde mich sehr freuen, wenn ihr mir helfen könntet. Ohne dieses Forum hätte ich wharscheinlich in der ein oder anderen Situation aufgegeben.

        Schöne Grüße,
        Onkel Schnitzel

        1. Ok, hat sich beides erledigt. Hat mich aber auch einiges an Hirnschmalz gekostet:-) Ich hab jetzt im Formular einfach noch ein "hidden"-Feld angelegt und übertrage 'page' damit extra. Außerdem hatte ich das Formular an die falsche Adresse geschickt. Mit action="newsarchiv.php" stimmt jetzt auch die Formatierung.