POST not working on IIS 5 but GET is working  How to get POST to work also.

Posted on 2008-06-13
Last Modified: 2013-12-13
I have installed PHP5 on IIS on my windows XP machine.  I have MySQL working, phpMyAdmin working also.  In my scripts I cannot get the POST data to send to another page.  I can use $_GET['data'] to send something to another page from a form.

I have method="POST" in my html form,  I have $_POST['data_name'] in my script but it will not show up.

If I do var_dump($_POST),  I get the following display:

array(0) {}

I went to Properties on Default Web Site in my Internet Information, to the Home Directory tab and then "Configuration".  I check to see that the verb POST is entered there and it is.

I can't figure out why this isn't working.

500 points to the person that helps me figure it out.  If more than one person is helpful, I'll ask another similar, but different question to award points to more than one helpful person.
Question by:jallenmorris
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 17

Accepted Solution

nanharbison earned 200 total points
ID: 21783085
please post your whole form.

Assisted Solution

albuitra earned 100 total points
ID: 21783137
Is there anything in php.log ?
LVL 11

Assisted Solution

spoxox earned 100 total points
ID: 21783178
[quote]I went to Properties on Default Web Site in my Internet Information, to the Home Directory tab and then "Configuration".  I check to see that the verb POST is entered there and it is.[/quote]

POST (or ALL) is entered for the .php extension, right?

[quote]I can use $_GET['data'] to send something to another page from a form.[/quote]
You can send data to a PHP page, right?

PHP works, generally? e.g.
echo "Hello, world";
Are You Using the Best Web Development Editor?

The worlds of web hosting and web development are constantly evolving. Every year we see design trends change, coding standards adapt and new frameworks/CMS created. With such a quick pace of change it’s easy to get lost trying to keep up.

See if your editor made the list.


Author Comment

ID: 21783397
Here is my whole form:

I am pretty sure the problem is not the form.  I can get the form to work if I make it method="post'.  I think the problem has to be with the way I have php installed.  

Yes.  PHP itself is working just fine.
<form name="login" method="post" action="jarod.php">
<input type="text" name="user">
<input type="submit" name="submit" value="Submit">
The PHP page that processes the form.
print $_POST['user'];

Open in new window

LVL 17

Assisted Solution

nanharbison earned 200 total points
ID: 21783428
I don't think you mean this: I can get the form to work if I make it method="post'.
you mean GET, right?

Author Comment

ID: 21783471
Yes, that's what I mean.  I mean I can get the form to work if I make it method="GET"
LVL 18

Assisted Solution

by:Gary Davis
Gary Davis earned 100 total points
ID: 21783607
The parameters will be sent from the browser to the server in either case. Some verbs can be blocked but GET and POST would not normally be blocked. So what you have to look at is your PHP code and see how you are retreiving the parameters from the collection.

I don't know much (if any) PHP but I do know that in DotNET, you have to request the parameter(s) from the Form if it was POSTed and from the QueryString if it was GETed(?). You don't get the parameters if you look in the wrong place. I assume PHP also has them separated.

Gary Davis

Author Comment

ID: 21783640
I know the problem is not in my code.  I've been programming PHP for 7 years.  As I said in the post, I installed IIS5 and PHP5 on my Windows XP Pro machine.  I 'm 99% sure that the problem is in my setup of the server.

Is there something in php.ini that I've forgotten to uncomment?  I do not have regsiter_globals on, it is set to Off.

Author Comment

ID: 21783656
I figured out the problem.  I put my folder into the wwwroot folder on the server.  The settings for the .php extension were not inherited to the subfolder.  I think that it should be, but for some reason it was not.  I created a new virtual directory in IIS pointing it to the subfolder and treating it as it's own separate website rater than a subfolder and the POST works.  Thanks to all that helped out.
LVL 10

Expert Comment

ID: 21783670
No matter how long a person is a programmer, sometimes the simplest things can be the hardest things to see.
It happens to the best of us. Glad you figured it out.

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Lync server 2013 or Skype for business Backup Service Error ID 4049 – After File Share Migration
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

617 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question