PHP Switch/Case zeigt andere Cases an

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
565
hallo,

ich nutze switch/case zum hin und her schalten von content.

ich schicke nun innerhalb von comments.html ein formular an "new_comment"

PHP:
    switch(isset($_GET['nav'])) {
        case "comments":
            $tpl->assign('content_array', $data->Pull_Content_Data($_GET['id']));
            $tpl->assign('comment_array', $data->Pull_Comment_Data($_GET['id']));
            $tpl->display('comments.html');
            break;
        case "new_comment":
            echo $_GET['name'];
            break;
        default:

PHP:
            <form accept-charset="utf-8" method="post" action="?nav=new_comment">
                Name <input type="text" name="name" value=""><br />
                Email <input type="text" name="email" value=""><br />
                Website <input type="text" name="website" value="http://www."><br />
                <?=$content_entry?>
                <textarea name="content" cols="50" rows="8"></textarea>
                <br />
                <input type="submit" value=" Absenden ">
            </form>

PHP:
index.php?nav=new_comment

das problem ist nun, dass anstelle "new_comment", "comments" aufgerufen wird. da die "id" nicht gesetzt ist, bekomme ich nun sql error ...

ich finde nur leider mein problem nicht ?
 
Du switchst nicht auf $_GET['nav'], sondern auf isset($_GET[nav']), was ein boolean ist. Deswegen dürfte er jedes Mal den ersten case aufrufen, da jeder nicht leere String in PHP als Boolean-Wert true hat.
 

Ähnliche Themen

Zurück
Oben