PHP Cannot POST error running XAMPP

£可爱£侵袭症+ 提交于 2020-01-23 18:23:26

问题


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.";
}

?>

回答1:


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.



来源:https://stackoverflow.com/questions/28272991/php-cannot-post-error-running-xampp

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!