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
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";
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.


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

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Do you need to unset the session variable after CSRF token check passes? 2 39
Fulfillment API php code sample 1 38 default error log 1 27
PHP Syntax Error 4 26
A phishing scam that claims a recipient’s credit card details have been “suspended” is the latest trend in spoof emails.
Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

776 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