PHP Switch无法正常工作

时间:2015-10-20 11:36:55

标签: php

我有这个开关

WHILE @Counter < = (SELECT COUNT(1) FROM #Data)
begin

--perform update in my main table on basis of ID

SET @Counter = @Counter + 1

end

应该使用此表单:

if(isset($_POST['submit']))

$type = $_POST['type'];
{
        switch($type)
        {
            case 'm':
                echo "Hello male";
                break;
            case 'f':
                echo "Hello female";
                break;
            case 'c':
                echo "Hello child";
                break;
            default:
                echo "you have to choose";
                break;
        }
}

但是当我测试它时,它会在所有情况下返回未定义的变量。这是为什么?

4 个答案:

答案 0 :(得分:5)

简单错字:

变化:

if(isset($_POST['submit']))
$type = $_POST['type'];
{

if(isset($_POST['submit']))
{
$type = $_POST['type'];

你错了大括号。

因此,默认情况下执行POST之后要执行的代码。

如果你没有在任何表达之后放置大括号,例如。 ifelsewhileforeach,只会执行一行连续的代码。

因此,更好的做法是在这些控件之后添加花括号,即使它们只包含一行代码。

答案 1 :(得分:2)

使用此: 的 PHP

if(isset($_POST['submit']))
{    $type = $_POST['type'];
      switch($type)
        {
            case 'm':
                echo "Hello male";
                break;
            case 'f':
                echo "Hello female";
                break;
            case 'c':
                echo "Hello child";
                break;
            default:
                echo "you have to choose";
                break;
        }
}

<强> HTML:

<form name="form" method="post" action="">
<p>
    <input name="type" type="radio" value="f" />Woman
    <br>
    <input name="type" type="radio" value="m" />Male
    <br>
    <input name="type" type="radio" value="c" />Child
    <br>
    <input type="submit" name="submit" value="Submit" />
</p>
</form>

答案 2 :(得分:1)

更改

<input type="type" name="submit" value="Submit" />

<input type="submit" name="submit" value="submit" />
             ^^^^^^                       ^

答案 3 :(得分:0)

$_POST['type'];

之后删除curley括号

必须是这样的:

$type = $_POST['type'];
switch($type)
{
    case 'm':
        echo "Hello male";
        break;
    case 'f':
        echo "Hello female";
        break;
    case 'c':
        echo "Hello child";
        break;
    default:
        echo "you have to choose";
        break;
}