Hi,
ich habe ein Suchskript, bei dem man bisher mittels Radiobuttons auswählen konnte, welcher Bereich der Seite durchsucht wird.
Entweder Bereich 1 + 2 oder nur Bereich 1 oder nur Bereich 2. Das ganze, via Radiobuttons, funktioniert einwandfrei.
Jetzt wollte ich das aber auch Checkboxen umstellen, wo man eben Bereich 1 und/oder Bereich 2 wählen kann.
Allerdings klappt es hier nicht mehr. Die erste Seite mit Suchergebnissen stimmt noch, blättert man dann aber auf die nächste (oder eine andere Seite) weiter wird die if-Anweisung nach der Kontrolle der Checkboxen übergangen. Somit sind alle Suchergebnisse bis auf Seite 1 nicht abrufbar.
Im Grunde ist das Prozedere bei Radiobuttons oder Checkboxen doch das gleiche, aber wieso klappt das nicht mehr?
Das funktionierende Radiobutton-Skript sieht so aus:
Formular:
<form method="post" action="suche.php">
<input type="text" name="search_exp" class="eingabe" tabindex="1">
<input type="submit" value="Suche starten" class="eingabe" name="submit" tabindex="2">
<input type="Radio" name="bereich" checked value="komplett">Kapitel + Lexikon
<input type="Radio" name="bereich" value="kapitel">Kapitel
<input type="Radio" name="bereich" value="lexikon">Lexikon
</form>
Suchskript:
if(($_POST["bereich"] == "kapitel") OR ($_GET["bereich"] == "kapitel"))
{
$logfile = "./admin/search_log_main.txt"; //Pfadangabe zu Logdatei
$datenfile = "./admin/search_data_main.txt"; //Pfadangabe zur Datendatei
$bereich = "kapitel";
}
elseif(($_POST["bereich"] == "lexikon") OR ($_GET["bereich"] == "lexikon"))
{
$logfile = "./admin/search_log_lex.txt"; //Pfadangabe zu Logdatei
$datenfile = "./admin/search_data_lex.txt"; //Pfadangabe zur Datendatei
$bereich = "lexikon";
}
else
{
$logfile = "./admin/search_log.txt"; //Pfadangabe zu Logdatei
$datenfile = "./admin/search_data.txt"; //Pfadangabe zur Datendatei
$bereich = "komplett";
}
Die nicht funktionierende Checkboxvariante:
Formular:
<form method="post" action="suche.php">
<input type="text" name="search_exp" class="eingabe" tabindex="1" value="Suchbegriff">
<input type="submit" value="Suche starten" class="eingabe" name="submit" tabindex="2">
<input type="Checkbox" name="bereich" value="kapitel" checked>Alle Kapitel
<input type="Checkbox" name="bereich2" value="lexikon" checked>Lexikon</form>
Suchskript:
if((($_POST["bereich"] == "kapitel") OR ($_GET["bereich"] == "kapitel")) AND (($_POST["bereich2"] == "lexikon") OR ($_GET["bereich2"] == "lexikon")))
{
$logfile = "./admin/search_log.txt"; //Pfadangabe zu Logdatei
$datenfile = "./admin/search_data.txt"; //Pfadangabe zur Datendatei
$bereich = "komplett";
}
elseif(($_POST["bereich2"] == "lexikon") OR ($_GET["bereich2"] == "lexikon"))
{
$logfile = "./admin/search_log_lex.txt"; //Pfadangabe zu Logdatei
$datenfile = "./admin/search_data_lex.txt"; //Pfadangabe zur Datendatei
$bereich = "lexikon";
}
else
{
$logfile = "./admin/search_log_main.txt"; //Pfadangabe zu Logdatei
$datenfile = "./admin/search_data_main.txt"; //Pfadangabe zur Datendatei
$bereich = "kapitel";
}
Ich vermute einfach mal, dass es nicht am eigentlichen Script liegt, da der Rest ja bei beiden Varianten identisch ist. Wer trotzdem mal einen Blick riskieren will: Suchskript