Seite 1 von 1
Post Daten kommen nicht an?
Verfasst: 25.07.2006, 11:47
von Bernd4
Hallo all,
Die Fakten:
PHP Seite zum Aktualisieren von Reiseangeboten. Übermittlung der Daten via Post (Formular). Kunde kann nun plötzlich die Aktualisierungen nicht mehr durchführen.
Tests haben ergeben, dass die Meldung, die der Kunde bekommt eigentlich nur auftreten kann, wenn die Post Variablen nach dem Absenden nicht mehr vorhanden sind - sprich isset() Abfrage. (Nein es sind nicht nur Ceckboxen oder Optionfields, es geht um textareas und inputs)
Der Kunde sitzt in einem kleinen Firmennetzwerk.
Meine Fragen:
Ist es möglich, dass die Übermittlung von Post Variablen von einer Firewall verhindert werden?
Oder wie kann es sein, dass die Post Variablen vom Client nicht ankommen?
Grüße
Bernd
Verfasst:
von
Content Erstellung von
ABAKUS Internet Marketing
Ihre Vorteile:
- einzigartige Texte
- suchmaschinenoptimierte Inhalte
- eine sinnvolle Content-Strategie
- Beratung und Umsetzung
Jetzt anfragen:
0511 / 300325-0
Verfasst: 25.07.2006, 12:03
von marc75
mal mit print_r($_POST); getestet?
Verfasst: 25.07.2006, 19:25
von mcchaos
Marc hat Recht: Ändert z.B. der Provider register_globals=off, dann muß man die POST-Daten mittels $_POST["Variable"] abfragen und erhält sie nicht mehr als $Variable.
Verfasst: 25.07.2006, 22:18
von Bernd4
Hallo marc, mcchaos,
@ mcchaos:
Ja danke, dies weiß ich. Ich frage nur $_POST, $_GET etc ab.
@ marc: ja habe ich.
Ich habe es nun noch ausführlicher getestet.
Das Ergebnis:
Der Fehler tritt nur im IE auf. Und auch nur in diesem Fall:
Gibt eine Kunde das € Zeichen im Textfeld ein so wird bei der Übermittlung vom IE das erste Formularelement gekappt. Und da dies bei mir die id im hiddenfield ist wurde nichts abgespeichert.
Ich habe nun ein wenig getestet und der IE kappt also immer das erste Formularelement sobald ein € in das Textfeld (accept-charset: ISO-8859-15 ist gesetzt) eingegeben wird.
Das kappier ich nicht. Ist es möglich, dass dies erst seit dem letzten Microsoft Autoupdate auftritt?
Ich werde mich nun mal einfach mit einem Dummy-hidden-field an erster Stelle behelfen. Verstehen tue ich es trotzdem nicht.
Oder hat noch jemand eine Idee an was dies liegen könnte?
Grüße
Bernd
Verfasst: 26.07.2006, 00:11
von net(t)worker
poste doch mal dein Formular als HTML hier....
interessant wäre ggf auch mal sich die übertragenden IP Pakets genauer anzusehen, um zu sehen was genau übertragen wird, wo also der Fehler zu suchen ist....
Verfasst: 26.07.2006, 05:41
von Bernd4
Hallo networker,
net(t)worker hat geschrieben:poste doch mal dein Formular als HTML hier....
Hier der Code:
Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
....
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
....
<form action="datei.php" id="bericht" name="bericht" method="post" enctype="multipart/form-data">
<fieldset>
<input type="hidden" name="id" value="" />
<label for="headline">Überschrift (Headline):</label>
<textarea id="headline" name="headline" class="lmHeadline" tabindex="1"></textarea>
<label for="teaser">Kurzbeschreibung für Übersichtseite:</label><br />
<textarea id="teaser" name="teaser" class="lm" style="height: 64px;" tabindex="2"></textarea>
<label for="txt">Ihr ausführlicher Text:</label>
<textarea id="txt" name="txt" class="lm" style="height: 240px;" tabindex="3"></textarea>
<span class="text">Bild ändern » Wählen Sie das gewünschte Bild auf Ihrem PC aus:</span><br />
<input type="file" name="upload" />
<label for="bis">Anzeige bis:</label>
<input type="text" name="bis" id="bis" value="" tabindex="4" /><br />
<span class="text">Wählen Sie bitte eine Kategorie aus:</span><br />
<input type="radio" name="kategorie" id="k1" value="1" class="radio" />
<label for="k1">Aktiv- & Erlebnisreisen</label><br />
<input type="radio" name="kategorie" id="k2" value="2" class="radio" checked="checked" />
<label for="k2">Erholungsreisen</label><br />
<input type="radio" name="kategorie" id="k3" value="5" class="radio" />
<label for="k3">Familienreisen</label><br />
<input type="radio" name="kategorie" id="k4" value="3" class="radio" />
<label for="k4">Gesundheit & Wellness</label><br />
<input type="radio" name="kategorie" id="k5" value="4" class="radio" />
<label for="k5">Kulturreisen</label><br />
<span class="text">Wählen Sie bitte die Art Ihres Angebots aus:</span><br />
<input type="radio" name="typ" id="typ1" value="Reise" class="radio" checked="checked" />
<label for="typ1">Reise</label><br />
<input type="radio" name="typ" id="typ2" value="Unterkunft" class="radio" />
<label for="typ2">Unterkunft/Aufenthalt</label>
<input type="submit" id="update" name="update" value="Änderungen speichern" tabindex="5" />
</fieldset>
</form>
interessant wäre ggf auch mal sich die übertragenden IP Pakets genauer anzusehen...
Und wie kann man sich die IP Pakete direkt ansehen?
Grüße
Bernd
Verfasst: 26.07.2006, 08:21
von mcchaos
Bernd4 hat geschrieben:Und wie kann man sich die IP Pakete direkt ansehen?
https://www.ethereal.com/
Verfasst: 26.07.2006, 08:32
von oldInternetUser
Du machst ja auch ein Kraut-und-Rüben-Handling in bezug auf den Zeichensatz:
Code: Alles auswählen
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Da gibt es kein € - Zeichen. Also wird der IE6 - völlig konform - den Datenstrom als UTF-8 mit BOM zurückgeben, damit kommt dein Script nicht klar - und verschluckt das erste Element.
Verfasst: 26.07.2006, 09:56
von Bernd4
Dies mag sein.
Allerdings wenn ich den iso-8859-15 (sowohl im head und/oder im form) definiere, bekomme ich Schwierigkeiten mit einkopierten "..." von Mac Usern.
Und der Fehler trat sowohl bei iso-8859-15 als auch bei iso-8859-1 auf.
Und warum
IE6 - völlig konform - den Datenstrom als UTF-8 mit BOM
ist das konform, wenn ein anderer Zeichensatz defniert ist? Müsste es dann nicht utf8-kodiert übergeben werden? Und warum sollte dann das erste $_POST Element verschluckt werden?
Ich könnte es verstehen wenn nach dem €-Zeichen ausgestiegen wird.
Sorry, aber ich verstehe Deine Begründung nicht.
Allerdings bin ich mir mit der Zeichensatzthematik nie 100% sicher. Und viele andere ja auch nicht wie die vielen "Fragezeichen in Raute" auf der einen oder anderen Website zeigen.
Was bedeudet bitte BOM?
Wäre eine bisserl ausführlichere Erläuterung noch machbar OldInternetUser?
Grüße
Bernd
Verfasst: 26.07.2006, 10:20
von oldInternetUser
Bernd4 hat geschrieben:Und warum
IE6 - völlig konform - den Datenstrom als UTF-8 mit BOM
ist das konform, wenn ein anderer Zeichensatz defniert ist? Müsste es dann nicht utf8-kodiert übergeben werden? Und warum sollte dann das erste $_POST Element verschluckt werden?
Was soll ein Browser machen, wenn der definierte Zeichensatz zu eng für die eingegebenen Zeichen ist? Herumraten, nichts machen - oder auf den Standard umschalten?
Allerdings bin ich mir mit der Zeichensatzthematik nie 100% sicher.
Dann solltest Du dir da einiges erarbeiten - Stichworte Unicode, BOM.
Ständig verwenden Leute ausrangierte Zeichensätze und wundern sich dann über Probleme - anstatt daß sie es konsequent in UTF-8 machen und dann alle Probleme verschwinden.
Verfasst: 26.07.2006, 10:25
von Bernd4
Herzlichen Danke für die ausführliche Antwort OldInternetUser.
Grüße
Bernd
PS: Warum hast Du überhaupt auf diesen Thread geantwortet?
Ein Satz wie: Kümmer Dich selbst und mach Dich erst mal schlau hätte doch auch gereicht. Und mir hättest Du das Lesen Deiner Beiträge erspart.
Ich denke mal, dass Du Dir letzendlich bei der ganzen Thematik auch nichts sicher bist und deshalb mal schnell ein paar Fachausdrücke in den Raum wirfst. Ist ja auch keine schlechte Methode.
Verfasst: 26.07.2006, 10:36
von oldInternetUser
Jemandem mit Null-Kenntnissen etwas in einem Forum erklären zu wollen ist Zeitverschwendung für denjenigen, der das versucht.
Und solange solche Sätze wie
Müsste es dann nicht utf8-kodiert übergeben werden?
geschrieben werden und gleichzeitig unklar ist, was ein BOM ist, hat das keinen Sinn - erst mal Grundlagen lernen.
Verfasst: 26.07.2006, 10:43
von Bernd4
Ich habe mir das mit dem BOM mal schnell durchgelesen und meine erste Einschätzung bestätigt bekommen.
Lächerlich OIU!