Philip: Wert mit Checkboxen übergeben geht nicht, aber mit Radiobuttons

Beitrag lesen

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