Solved

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

Posted on 2008-06-13
10
1,014 Views
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.
0
Comment
Question by:jallenmorris
10 Comments
 
LVL 17

Accepted Solution

by:
nanharbison earned 200 total points
Comment Utility
please post your whole form.
0
 
LVL 4

Assisted Solution

by:albuitra
albuitra earned 100 total points
Comment Utility
Is there anything in php.log ?
0
 
LVL 11

Assisted Solution

by:spoxox
spoxox earned 100 total points
Comment Utility
[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.
<html><body>
<?php
echo "Hello, world";
?>
</body></html>
0
 

Author Comment

by:jallenmorris
Comment Utility
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:
 

<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.

<?php
 

print $_POST['user'];
 

?>

Open in new window

0
 
LVL 17

Assisted Solution

by:nanharbison
nanharbison earned 200 total points
Comment Utility
I don't think you mean this: I can get the form to work if I make it method="post'.
you mean GET, right?
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:jallenmorris
Comment Utility
Yes, that's what I mean.  I mean I can get the form to work if I make it method="GET"
0
 
LVL 18

Assisted Solution

by:Gary Davis
Gary Davis earned 100 total points
Comment Utility
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
0
 

Author Comment

by:jallenmorris
Comment Utility
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.
0
 

Author Comment

by:jallenmorris
Comment Utility
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.
0
 
LVL 10

Expert Comment

by:ray-solomon
Comment Utility
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.
:-)
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

These days socially coordinated efforts have turned into a critical requirement for enterprises.
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

743 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now