POST Daten werden nicht angezeigt

codeschnipser

Grünschnabel
Hallo

Ich versuche seit einigen stunden ein Problem zu lösen.

Komischerweise werden die Daten, welche mit einem ganz gewöhnlichem Formular geposted werden, nicht übergeben. Ich versuche die Parameter per echo auszugeben. Das seltsame ist, dass beim aktualisieren der Seite und beim wiederholten senden der Werte die Daten auf einmal angezeigt werden. Das heisst die Daten sind gespeichert******!

Hier das ganz normale Script:

PHP:
<?php
if(!empty($_POST)) {
    $array = $_POST;
	echo $array['text'];
	echo $array['alter'];
	echo $array['ort'];
	echo $array['location'];
  } elseif(!empty($_GET)) {
    $array = $_GET;
  } else {
    
  }
	
?>
HTML:
<form id="event" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
    <fieldset>
    <legend class="trans">Event Eintragen</legend>
    <label for="text">Text*</label>
    <input name="text" type="text" id="text" class="required" />
    <label for="alter">Alterskategorie*</label>
    <input name="alter" type="alter" id="alter" class="required" />
    <label for="ort">Ort* </label>
    <input name="ort" type="text" id="ort" class="required" />
    <label for="location">Location*</label>
    <input name="location" type="text" id="location" class="required" />
    <label for="datum">Datum* </label>
    <input name="datum" type="text" id="datepicker" class="required" />
    <input name="send" type="hidden" id="send" value="true" />
    <button type="submit">Neuer Event eintragen</button>
  </fieldset>
  </form>

Kann es etwas mit der Server Konfiguration zu tun haben?
oder vielleicht mit einer Einstellung in der php.ini?

Vielen Dank für Eure Hilfe
Marco
 
Mit einem Element-Button kannst du das Formular nicht absenden.
verwende anstatt dessen:
Code:
<input type="submit" name="speichern" value="Neuer Event eintragen" />
 
Die Frage ist ja, was passiert bei seiner Version, wenn er auf den Button klickt? Wird das Formular wirklich abgeschickt? Wenn nicht, wieso hat er dann bei der Aktualisierung der Seite eine erfolgreiche Ausgabe der Daten? Und wenn doch, warum werden die Daten dann nicht nach dem Absenden gleich angezeigt?

Quasi: Wo ist das Mysterium?! :)
Bestimmt wieder eine eigensinnige Browserinterpretation.
 
Mit einem Element-Button kannst du das Formular nicht absenden.
verwende anstatt dessen:
Code:
<input type="submit" name="speichern" value="Neuer Event eintragen" />

Das stimmt nicht! Es gibt aber keinen Input Type "alter".

Woran genau es liegt sehe ich gerade auch nicht, aber es könnte an Caching Einstellungen liegen, wenn man erst aktualisieren muss.
 
Es kann ein Caching Problem sein!

Kurz zur Erläuterung: die App ist mit cakePHP erstellt und ich habe mal eine .htaccess Datei erstellt, welches das Caching verhindert und ich habe mit dem Verantwortlichen des Servers gesprochen und es ist so eingestellt, dass wenn ich im Header explizit sage nicht cachen, dann tut er das auch. Nun habe ich mit Fiddler kontrolliert, ob das auch so ist und er erkennt die physischen Files, aber nicht die dynamisch generierten. Das Problem besteht immer noch, dass die Daten per POST zum Teil vorhanden sind, oder eben nicht.

Danke für Eure Hilfe.
 
Ich habe mal die .htacces um geschrieben, von

<IfModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</IfModule>


nach:
Header set Cache-Control: "no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0"

Nun geht es :)
 
Sag ich doch :)

Cache-Control: max-age=0 und Expires ist eine redundante Angabe, du solltest nur eine von beiden setzten.
 
Zurück