Using the following files in the same directory I have been getting a cannot POST error while running XAMPP 1.8.3 and [PHP: 5.5.15.
<html> <head> <title> IsEven </title> </head> <body> <form action= "IsEven.php" method="post"> Enter a number: <input type="text" name="number" /> <input type="submit" value="submit" /> </form> </body> </html>
Here is my PHP file
<?php //Assign Values to the variable. $number = $_POST['number']; //If statements to check Even number or not. //Is_numeric, Isset() and round() functions. if (is_numeric($number) && isset($number)){ if (round($number, 0) % 2 == 0){ echo "The number " .$number. " entered is a even number<br>"; } else { echo "The number " . $number. " is a non-even number"; } //End round if statement. } //End is numeric if statement else { echo "Please enter a numeric value."; } ?>
Here is a technique that I used in some code today that answered my question.
<!DOCTYPE HTML> <html> <head> <title> Temperature Conversion </title> </head> <body> <form method="post" action= "<?php echo $_SERVER["PHP_SELF"]; ?>"> Fahrenheit: <input type="radio" name="temp_metric" value="Fahrenheit" /> Celcius: <input type="radio" name="temp_metric" value="Celcius" /> <input type="submit" name="submit" value="submit" /> </form> </body> </html> <?php //VARIABLE DECLARATIONS $degrees = NULL; $temp_degrees = NULL; $curr_metric = NULL; $converted_metric = NULL; $converted_temp = NULL; //LOGIC if ('POST' === $_SERVER['REQUEST_METHOD'] and isset($_POST['temp_metric'])) { $curr_metric = $_POST['temp_metric']; for ($degrees = 0; $degrees <= 100; $degrees++) { if($curr_metric == "Fahrenheit") { $converted_metric = "Celcius"; $temp_degrees = ($degrees - 32) * (5/9); $converted_temp = round( $temp_degrees, 1); } else { $curr_metric = "Celcius"; $converted_metric = "Fahrenheit"; $temp_degrees = $degrees * 9/5 + 32; $converted_temp = round($temp_degrees , 1); } //output the result of the users selection echo "<div> $degrees $curr_metric is $converted_temp $converted_metric. </div>"; }//end of for loop }//end of if current metric is not null ?>
The pieces that I was missing were located in my initial HTML for action to ""> enabled me to post the form data back to the PHP file combined with the IF ('POST' === $_SERVER['REQUEST_METHOD']) allowed me to exclude the PHP until I clicked on the submit button.
This may not be the proper way to do this but since I am using XAMPP it works. However I do know that if one is using the traditional web server using seperate PHP and HTML files works well. As of yet I have not completely set up the development environment at my hosting company. For the time being this will have to do.