PHP $_POST checkbox & Kodierung

Callboy

Mitglied
Hallo Leute,

brauche wieder mal eure Hilfe.
Mache irgendwo eine unsinnige Fehler den ich nicht schnalle.
Dabei sitze ich wirklich schon mehrere Tage dran und komme nicht auf die Lösung.
Ich habe mir auch reichlich Sachen im Internet geschaut aber finde auch da leider keine Lösung.

Vielleicht könnt Ihr mir ja Helfen.

Könnt Ihr dazu euch die folgende Internet Seite http://www.i-sa.de/projekt/abc/index.php5?menu=judgments anschauen ?

Der PHP Code sieht provisorisch etwa so aus:
PHP:
if(!empty($_POST["action"])) {
			echo "<pre>";
			print_r($_POST);
			echo "</pre>";
			
		}

Diese Ausgabe werdet Ihr ganz oben auf der Seite zu sehen bekommen.
Das ist aber nicht das Problem.

Könnt Ihr mir sagen, warum ich die Daten für den Checkbox nicht über POST holen kann ?
Wie könnte ich das am besten machen ?


Ich habe noch eine weitere Problematik auf der Seite bekommen.
Und zwar spinnt bei mir die Kodierung ständig.
Habe die Kodierung ISO-8859-15 gewählt aber ab und zu wechselt die Seite die Kodierung in UDF-8 um und somit werden bei mir die Umlaute nicht richtig angezeigt.

Könnt Ihr mir sagen wie ich die Kodierung nach meine wünsche erzwingen könnte ?

Bitte um Hilfe, denn ich komme wirklich nicht mehr weiter und bräuchte dringend eine Lösung :mad:
Ich danke euch schon mal im voraus!

MfG
Daniel
 
Hi,

also, wenn ich mir die Seite einfach abspeichere, die Formular-Action anpasse und ein print_r($_POST); einsetze bekomme ich die Checkboxen:

Code:
Array
(
    [search_checkbox] => Array
        (
            [0] => 1
            [1] => 2
        )

    [search] => fdgfdg
    [action] => » Suchen 
)

Da musst Du nochmal schauen, ob Du irgendwo vorher etwas mit $_POST anstellst.

zur Kodierung:

Du musst die Seite mit der entsprechenden Kodierung ausliefern:

PHP:
header('Content-Type: text/html; charset=ISO-8859-15');

Außerdem musst Du das Skript in dieser Kodierung speichern. Momentan scheint es in UTF-8 gespeichert zu sein (Da ist ein Byte Order Mark oben drin). Manche Editoren sind standardmäßig so eingestellt, dass sie alles in UTF-8 öffnen (und dann auch wieder speichern).

LG
 
Hallo Kuddeldaddeldu,

ich danke für deine Antwort und Hilfe aber das mit dem Checkbox und Post habe ich auch so wie du auf einem anderen Datei getestet siehe

http://www.i-sa.de/projekt/abc/test.php5

und es funktioniert dort bei mir ja auch.
Aber nur dann, wenn ich es auf diese Seite einbaue, dann eben funktioniert es nicht mehr.
Der Inhalt von Checkbox scheint irgendwie leer zu sein - warum auch immer.

Ich komme wirklich nicht dahinter und zu deine Frage mit ob ich eventuell davor oder danach mit dem Post was anderes angestellt habe sollte - ist es auch nicht.


Zum Kodierung der Seite mit dem
PHP:
header('Content-Type: text/html; charset=ISO-8859-15');

Funktion verstehe ich nicht warum ich es brauche.
Denn in der Meta Tag ist das doch vorgegeben, wenn man sich den Quelltext anschaut.
Und wo genau müsste ich diese Funktion denn am besten platzieren, damit das jedesmal übernommen wird ?

Bitte um Hilfe

MfG
Daniel
 
Zuletzt bearbeitet:
Hallo nochmals,

ich habe das mit dem Header nun getestet.
Habe es direkt am Anfang vom "index.php5" Datei bei mir eingebaut und es funktioniert.
Leide weis ich aber nicht ob es so Richtig ist.
Denn, wenn ich die Seite mir im IE anschaue, wird die Seite trotzdem in der Kodierung UDF-8 angezeigt.
Wo liegt das Problem und wie beseitige ich dies ?

Bitte um Hilfe - es ist mir wirklich sehr wichtig

MfG
Devran
 
Hi,

Funktion verstehe ich nicht warum ich es brauche.
Denn in der Meta Tag ist das doch vorgegeben, wenn man sich den Quelltext anschaut.
Und wo genau müsste ich diese Funktion denn am besten platzieren, damit das jedesmal übernommen wird ?

Die Browser richten sich in der Regel danach, was im HTTP-Header steht. Header müssen gesendet werden, bevor irgendeine Ausgabe passiert. Zum Zeitpunkt Deines Posts war immer noch ein Byte Order Mark in Deiner Seite, was auch eine Ausgabe ist. Bei eingeschaltetem display_errors und error_reporting(E_ALL) hätte das eine Fehlermeldung geben müssen.
Funktioniert es jetzt im IE?

Ich komme wirklich nicht dahinter und zu deine Frage mit ob ich eventuell davor oder danach mit dem Post was anderes angestellt habe sollte - ist es auch nicht.

Es muss aber in Deinem Script liegen. Wenn ich die Formular-Action wieder auf Deine Seite setze, ist das Array leer. Wo steht Dein print_r($_POST)? Direkt am Anfang hinter der header-Zeile?

LG
 
Zurück