找不到 PHP/HTML 提交重定向到 404



我正在创建一个简单的网络应用程序,用于计算您将要毕业的年龄。我的程序在 eclipse 中运行良好,但一旦我将其推送到服务器并按下我的按钮(提交(,它就会重定向到 404 错误。我正在使用ipages,我知道他们使用的是php 5.6。任何有用的提示都会有所帮助。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<title>Graduation Calculator</title>
</head>
<body>
<img alt="Image goes here..." src="Balloon-Banner.jpg" width = "1050" height="180">
<form action="grad.php" method="POST">
<center>
<br>
<br>
<br>
<label><?php echo "Today is " . date("m/d/Y"); ?></label>
    <br>
    <br>
    <br>
    <label>Enter your birth year: </label>
    <input type="text" name="birthYear" />
    <label>Enter your graduation year: </label>
    <input type="text" name="gradYear" />
    <br>
    <label>Enter your Birth Month: </label>
    <input type = "text" name = "birthMonth"/>
    <label> Enter your graduation month</label>
    <input type = "text" name = "gradmonth" />
    <br>
    <label> Enter your birthday</label>
    <input type = "text" name = "birthDay" />
    <label>Enter your graduation day: </label>
    <input type="text" name="gradday" />
    <br>
    <input type='submit' value='Graduation Age' id = 'submit' />
    </center>
</form>

<?php
$submitted = ! empty ( $_POST );
if ($submitted == true)
{
    $bYear = (int) $_POST ['birthYear'];
    $gYear  = (int) $_POST ['gradYear'];
    $gMonth = (int) $_POST['gradmonth'];
    $bMonth = (int) $_POST['birthMonth'];
    $bday = (int) $_POST['birthDay'];
    $gday = (int) $_POST ['gradday'];

    $age = getAge($bYear, $gYear, $bMonth, $gMonth, $bday, $gday);
    if($age!= NULL){
        echo "You will be " . $age . " at your graduation.";
    }
    else{
        echo "INVALID INPUT, PLEASE TRY AGAIN";
    }

}
function getAge( $bYear,  $gYear, $bMonth, $gMonth, $bday, $gday)
{
    If($bYear> $gYear || $bMonth>12 || $gMonth >12 || $bday >31 || $gday >31 || $bYear == 0 || $gYear == 0 || $bMonth == 0 || $bday == 0 || $gMonth ==0|| $gday == 0){
        return NULL;
    }
    $age = $gYear - $bYear;
    if($bMonth == $gMonth){
        if($bday <= $gday){
            return $age;
        }
        else{
            $age = $age-1;
            return $age;
        }
    }
        elseif($bMonth < $gMonth){
            return $age;
        }
        else{
            return $age-1;
        }
        return $age;
}
?>
</body>
</html>

如果你在同一个文件中执行前端和后端代码,只需保持简单,除非你有框架,否则只在同一个文件中执行。

<form action="grad.php" method="POST">更改为<form method="POST">

应该工作,如果没有,我们会尝试解决一些问题;)

从表单中删除action="grad.php"。所以它会屈服于自己。

最新更新