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

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
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.
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…
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.

832 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