Fehlermeldung: unexpected T_LOGICAL_AND
Onkel Schnitzel
- php
0 Dennis
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
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.
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
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.
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
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
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
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.