|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #28911 $_Get and $_Post not avaible
Submitted: 2004-06-24 14:52 UTC Modified: 2004-07-19 20:26 UTC
From: kae at aals dot ch Assigned:
Status: Not a bug Package: IIS related
PHP Version: 4.3.7 OS: windows XP Workstation
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: kae at aals dot ch
New email:
PHP Version: OS:


 [2004-06-24 14:52 UTC] kae at aals dot ch
I've installed the IIS 5.1, Windows xp, PHP 4.3.7 exsatly how the instruction in and installmanual (PHP).
Now when i load a form and make an input, then with a button on this form call the next form (form2), in this form i want display $_post or $_get and no value is on the variable.

PHP.ini global_registers = off

When i start this form on winows Apache configuration then it's works correct.


Reproduce code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<form action="script.php" method="POST">
  <input type="hidden" name="secret_var" value="1">
    Vorname und Familienname:<br>
  <input type="text" name="name" value="Otto Normalverbraucher"><br>
  <input type="password" name="passwd"><br>
  <input type="radio" name="sex" value="m"> m&auml;nnlich<br>
  <input type="radio" name="sex" value="w"> weiblich<br>
  <input type="checkbox" name="hobbys[]" value="computers"> Computer<br>
  <input type="checkbox" name="hobbys[]" value="sport"> Sport<br>
  <input type="checkbox" name="hobbys[]" value="books"> B&uuml;cher<br>
  <textarea name="comment" rows="4" cols="20"></textarea><br>
<input type="submit" name="sent" value="Abschicken">

if ($_POST) {
  echo "<p>Mit der Methode POST erhaltene Daten:</p>";
  while (list($post_var, $post_value) = each($_POST))
    echo $post_var." = ".$post_value."<br>";
if ($_GET) {
  echo "<p>Mit der Methode GET erhaltene Daten:</p>";
  while (list($get_var, $get_value) = each($_GET))
    echo $get_var ." = ".$get_value ."<br>";

Expected result:

Actual result:
all Fields and values


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2004-06-29 17:55 UTC]
You should use $_GET and $_POST and check the value of your 
variables_order and gpc_order inside PHP.ini. 
 [2004-06-30 20:41 UTC] kae at aals dot ch
I have this php.ini value:
variables_order = "EGPCS"
register_long_arrays = Off
register_globals = on
register_argc_argv = Off
post_max_size = 8M
gpc_order = "GPC"
 [2004-07-06 15:37 UTC]
The variables are called $_GET and $_POST (yes, the case matters!)

 [2004-07-06 21:24 UTC] kae at aals dot ch
Sorry, but read all this script. It's not a case matter.

if ($_POST) {
  echo "<p>Mit der Methode POST erhaltene Daten:</p>";
  while (list($post_var, $post_value) = each($_POST))
    echo $post_var." = ".$post_value."<br>";
if ($_GET) {
  echo "<p>Mit der Methode GET erhaltene Daten:</p>";
  while (list($get_var, $get_value) = each($_GET))
    echo $get_var ." = ".$get_value ."<br>";
 [2004-07-07 01:54 UTC]
Here's a better test, give us the output after the submit:

<form action="script.php" method="POST">
 <input type="hidden" name="atest" value="avalue">
 <input type="submit" name="submit">
print phpversion() . "\n";
print ini_get('variables_order') . "\n\n";

print "POST:\n";

print "GET:\n";
 [2004-07-19 20:26 UTC] kae at aals dot ch
I test this Procedure and the result is:
after test.php



Notice:  Undefined variable:  HTTP_POST_VARS in C:\Inetpub\wwwroot\de\borowski\test.php on line 13

Notice:  Undefined variable:  HTTP_GET_VARS in C:\Inetpub\wwwroot\de\borowski\test.php on line 17
after submit
nothing is appear.

Here is the Inifilepart:

; Data Handling ;
; Note - track_vars is ALWAYS enabled as of PHP 4.0.3

; The separator used in PHP generated URLs to separate arguments.
; Default is "&".
;arg_separator.output = "&amp;"

; List of separator(s) used by PHP to parse input URLs into variables.
; Default is "&".
; NOTE: Every character in this directive is considered as separator!
;arg_separator.input = ";&"

; This directive describes the order in which PHP registers GET, POST, Cookie,
; Environment and Built-in variables (G, P, C, E & S respectively, often
; referred to as EGPCS or GPC).  Registration is done from left to right, newer
; values override older values.
variables_order = "GPCS"

; Whether or not to register the EGPCS variables as global variables.  You may
; want to turn this off if you don't want to clutter your scripts' global scope
; with user data.  This makes most sense when coupled with track_vars - in which
; case you can access all of the GPC variables through the $HTTP_*_VARS[],
; variables.
; You should do your best to write your scripts so that they do not require
; register_globals to be on;  Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = Off

; Whether or not to register the old-style input arrays, HTTP_GET_VARS
; and friends.  If you're not using them, it's recommended to turn them off,
; for performance reasons.
register_long_arrays = OFF

; This directive tells PHP whether to declare the argv&argc variables (that
; would contain the GET information).  If you don't use these variables, you
; should turn it off for increased performance.
register_argc_argv = Off

; Maximum size of POST data that PHP will accept.
post_max_size = 8M
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Apr 14 21:01:27 2024 UTC