Ich habe die einfachste Form, und alles, was ich tun möchte, ist Echo, was auch immer in das Textfeld geschrieben wird.
HTML:
%Vor%PHP:
%Vor%Das Problem ist, dass es auf meinem Server nicht funktioniert (es funktioniert auf einem anderen Server). Hat jemand eine Idee, was könnte falsch sein? Es gibt andere Formen auf dem Server und funktionieren gut.
Ein paar Dinge, die Sie tun könnten:
[Optional] Versuchen Sie, sowohl einen 'name' als auch ein 'id' Attribut, z.
%Vor%
Wenn Sie sich in einer Linux-Umgebung befinden, prüfen Sie, ob Sie Lese- / Schreibberechtigungen für die Datei haben.
Außerdem kann dieser Link ebenfalls hilfreich sein.
BEARBEITEN:
Sie könnten auch ersetzen %Code% mit diesem: %Code%. Dies ist immer der beste Weg zu prüfen, ob ein Formular übermittelt wurde oder nicht.
Ich hatte heute abend etwas Ähnliches, was mich in den Wahnsinn getrieben hat. Das Absenden eines Formulars gab mir die Werte in $ _REQUEST, aber nicht in $ _POST.
Irgendwann ist mir aufgefallen, dass auf dem Netzwerk-Tab in Firebug tatsächlich zwei Anfragen durchgelaufen sind; zuerst ein POST mit einer 301-Antwort, dann ein GET mit einer 200-Antwort.
Bei der Suche nach den Interwebs klang es so, als ob die meisten Leute dachten, dass dies mit mod_rewrite zu tun hatte, was die POST-Anfrage dazu veranlasste, umzuleiten und sich so in ein GET zu verwandeln.
In meinem Fall war es nicht mod_rewrite, es war etwas viel einfacher ... meine URL für den POST enthielt auch eine GET-Abfragezeichenfolge, die ohne einen Schrägstrich auf der URL begann. Dies führte dazu, dass Apache umgeleitet wurde.
Finde den Unterschied ...
Der untere verursacht keine Umleitung und gibt mir $ _POST!
Anstatt $ _POST zu verwenden, verwenden Sie $ _REQUEST:
HTML:
%Vor%PHP:
%Vor%Ich hatte auch dieses Problem. Der Fehler war im Htaccess. Wenn Sie eine Rewrite-Regel haben, die sich auf die Aktions-URL auswirkt, können Sie die POST-Variable nicht lesen.
Um dieses Hinzufügen zu beheben, müssen Sie diese Regel am Anfang zu htaccess hinzufügen, um das Umschreiben der URL zu vermeiden:
RewriteRule ^ meine_Aktion.php - [PT]
Haben Sie Ihre php.ini überprüft?
Ich habe meine Post-Methode aufgebrochen, nachdem ich post_max_size
mit upload_max_filesize
gleichgesetzt habe.
Ich denke, dass post_max_size
weniger als upload_max_filesize
haben muss.
Getestet mit PHP 5.3.3 in RHEL 6.0
Zu Ihrer Information:
$ _POST in PHP 5.3 .5 funktioniert nicht
PHP POST funktioniert nicht
Es ist nichts falsch mit Ihrem Code. Das Problem ist hier nicht sichtbar.
Überprüfen Sie, ob das Skript nach dem Senden überhaupt aufgerufen wird.
Sehen Sie sich an, was eingereicht wurde: var_dump($_REQUEST)