$_POST Variable wird nur LOCAL uebergeben
stoo_de
- php
Hallo,
nachdem ich einigen PHP Code auf LOCALHOST enwickelt habe und dieser dort funktionierte (sowohl ueber LOCALHOST als auch ueber die IP-Adresse), musste ich nun feststellen, dass beim Zugriff auf die gleiche Seite von extern (sprich ueber Internet von einem anderem Rechner) eine Fehlermeldung brachte.
Es wird eine $_POST Variable nicht uebergeben.
Anbei ein Auszug aus - print_r($GLOBALS); - beider Faelle:
LOCALHOST oder Aufruf ueber IP-Adresse vom gleichem Rechner wie LOCALHOST:
Array ( [GLOBALS] => Array *RECURSION* [_POST] => Array ( [item] => 75840e [section] => comp [ManufacturerComp] => 0 [action] => [limitcomp] => 0 [setlimitcomp] => ) [_GET] => Array ( ) ...
von extern:
Array ( [GLOBALS] => Array *RECURSION* [_POST] => Array ( [section] => comp [ManufacturerComp] => 0 [action] => [setlimitcomp] => ) [_GET] => Array ( ) ...
Es geht um die Variable - [item] => 75840e - die bei Aufruf vom Internet nicht uebergeben wird.
Zur Info: Falls beim ersten Aufruf des Scripts $_POST['item'] nicht gesetzt ist, initialisiere ich eine Variable mit $_SESSION['sitem']="", sonst $_SESSION['sitem']=$_POST['item'].
Config:
Window XP Pro
Appache Http server 2.0.59
PHP 5.1.4
Hat jemand einen Vorschlag, wo das Problem liegen koennte?
Vielen Dank schon mal
stoo_de
Hallo stoo_de,
nachdem ich einigen PHP Code auf LOCALHOST enwickelt habe und dieser dort funktionierte (sowohl ueber LOCALHOST als auch ueber die IP-Adresse), musste ich nun feststellen, dass beim Zugriff auf die gleiche Seite von extern (sprich ueber Internet von einem anderem Rechner) eine Fehlermeldung brachte.
...
Es wird eine $_POST Variable nicht uebergeben.
Hat jemand einen Vorschlag, wo das Problem liegen koennte?
Bist du ganz sicher, dass dein Browser/User_Agent auch die entsprechenden HTTP-Header/-Daten geschickt hat?
Für den Feuerfuchs gibt es zwei nette Extensions, mit denen man das testen kann:
TamperData (kann HTTP-Requests auch verändern)
LiveHTTPHeaders (zeigt sie nur an)
MffG
EisFuX
Hallo,
das war 'ne schwierige Geburt.
Nach komplettem zerlegen des Skripts in alle Einzelteile und Neuaufbau ist mir in beiden betreffenden <select name='test' ...> Anweisungen doch ein kleines ' vor dem Name ( ... 'name='test' ... ) aufgefallen, welche entsprechende Wirkung hatten. So kann man seinen Tag auch rumbringen.
Bleibt jedoch die Frage, warum bringt PHP/Webserver LOCAL keine Fehlermeldung sowie es von extern der Fall ist???
Danke trotzdem ...
stoo_de
Hallo stoo_de,
das war 'ne schwierige Geburt.
Nach komplettem zerlegen des Skripts in alle Einzelteile und Neuaufbau ist mir in beiden betreffenden <select name='test' ...> Anweisungen doch ein kleines ' vor dem Name ( ... 'name='test' ... ) aufgefallen, welche entsprechende Wirkung hatten. So kann man seinen Tag auch rumbringen.
Bleibt jedoch die Frage, warum bringt PHP/Webserver LOCAL keine Fehlermeldung sowie es von extern der Fall ist???
Eine Möglichkeit wären unterschiedliche Einstellungen des Error-Reporting-Levels, siehe auch hier:
https://forum.selfhtml.org/?t=134581&m=873224
Allerdings dürfte der von dir beschriebene Fehler vom PHP-Interpreter ignoriert werden, da es sich ja um einen Fehler in der HTML-Syntax handelt. Da könnte höchstens ein HTML-Validator wie tidy helfen (für das vom Server gelieferte HTML).
MffG
EisFuX
Hi,
TamperData (kann HTTP-Requests auch verändern)
LiveHTTPHeaders (zeigt sie nur an)
Nö, mit LiveHTTPHeaders kann man sie auch manipulieren. Über "Replay".
cu,
Andreas
Hallo MudGuard,
TamperData (kann HTTP-Requests auch verändern)
LiveHTTPHeaders (zeigt sie nur an)Nö, mit LiveHTTPHeaders kann man sie auch manipulieren. Über "Replay".
Stimmt, laut http://livehttpheaders.mozdev.org/ kann man das. Aber wo versteckt sich diese Funktionalität? Der Satz "Third by letting you edit request headers and replay an URL (beta). Look for the Replay button in the live window!" ist da nicht sehr hilfreich -- mein LiveHTTPHeaders (Version 0.12) "spricht" Deutsch ...
MffG
EisFuX
Hi,
Stimmt, laut http://livehttpheaders.mozdev.org/ kann man das. Aber wo versteckt sich diese Funktionalität? Der Satz "Third by letting you edit request headers and replay an URL (beta). Look for the Replay button in the live window!" ist da nicht sehr hilfreich -- mein LiveHTTPHeaders (Version 0.12) "spricht" Deutsch ...
Bei mir (in der englischen Version) befinden sich auf der "Headers"-Seite links unten zwei Buttons, "Save All" und "Replay".
Wo die sich in der deutschen Version befinden und wie sie dort benannt sind, weiß ich nicht. Ich benutze wie gesagt nicht die deutsche Version.
cu,
Andreas