标题重定向到同一页面,而不是指定的页面

时间:2014-05-21 18:02:32

标签: php html wamp

我已经在这个网站上阅读了很多答案,但所有的解决方案都没有帮助过这个问题。我有代码使用PHP根据他们为调查项目提交的表单数据重定向页面。标题应根据下拉列表中的用户选择重定向到另一个页面。所有这些都存储在我的localhost WAMP服务器上的www目录中。问题是,页面没有重定向到我在标题重定向中指定的页面,而只是重新加载当前页面。我需要它重定向到标题中指定的页面。

这是PHP:

    <?php
    session_start();

    if(isset($_POST['post'])) {
    $_SESSION['maintasked'] = $_POST['maintask'];
    $_SESSION['dated'] = $_POST['date'];
    $_SESSION['named'] = $_POST['name'];
    session_write_close();

    if(!empty($_POST['name']))
    {
    switch($_POST['maintask']) {

    case "Pre Cabinet":
    header('Location: /Tier2PreCabinet.php');
    exit;
    break;

    case "At Cabinet":
    header('Location: /Tier2AtCabinet.php');
    exit;
    break;

    case "Post Cabinet":
    header('Location: /Tier2PostCabinet.php');
    exit;
    break;

    }
   }
  }
?>

这是HTML:

<!doctype html>
<html>
<head>
<meta charset = "utf-8">
<title>Advanced RV Time Records</title>
</head>
<body>

<h2>Advanced RV Time Capsule</h2>

<!-- This form grabs today's date from the JS run at page load and allows the user to change it if necessary -->
<p>Enter the date of the day the work was done.</p>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
        <input type="date" id="theDate" value="" name ="date">

<!-- This form has the user select the name they will be working under. Must be completed. -->  
<p id ="name" name="named">Enter the name of the worker performing the task. </p>

<select id="workers" name="name">
<option value =null></option>
<option>Brian</option>
<option>Mike G.</option>
<option>Anthony</option>
<option>Tom</option>
<option>Joe</option>
<option>Deury</option>
<option>Chris Puetzfeld</option>
<option>Chris Piercy</option>
<option>Frank</option>
</select>


<!-- This form has the user select the task they will be working on.-->
<p>Enter the main task that the worker will be doing</p>

<select id ="MainTask" name ="maintask">
<option id ="1">Pre Cabinet</option>
<option value ="2">At Cabinet</option>
<option value ="3">Post Cabinet</option>
</select>
<input type ="submit" value="Continue On">
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

如果设置了选项框,则会传递值属性中的值,而不是文本。在您的选择框中,您的第一个选项没有值属性,因此将提交文本。但是,在第二个和第三个选项中,您的值为23,这将是提交的内容。您的PHP代码正在查找文本值,而不是将要提交的数字值。

您可以将第一个选项id="1"更改为value="1",并在php中查找值123。或者,您可以从选项value2中删除3,然后提交文字。