【问题标题】:Php giving 2 possible form action for one buttonPHP 为一个按钮提供 2 种可能的表单操作
【发布时间】:2014-11-01 06:18:19
【问题描述】:

我有这个按钮,我想让它根据条件链接到不同的表单。这是我尝试过的

<?php
        if($lessons=null){
            ?>
            <form action="create.php" method="post">
                <?php }
        else{
            ?>
            <form action="k1levelselect.php" method="post">
                <?php }

        ?>

        <input type="submit" value="K1"

$lessons 是我表中的一列。如果课程没有价值,我想去'create.php'添加课程,否则我想直接去k1levelselect.php。但无论我的表列是否为空,它都会将我带到 k1levelselect.php。我是否错误地执行了 if else 语句?

【问题讨论】:

    标签: php if-statement submit


    【解决方案1】:

    在您当前的代码中,您正在使用赋值运算符:

    if($lessons=null){ // using = 
    

    您必须使用== 比较运算符:

    if($lessons==null){ // must be like this
    

    或者,您也可以在这种情况下使用简写 if(三元):

    <form action="<?php echo ($lessons == null) ? 'create.php' : 'k1levelselect'; ?>" method="post">
    

    如何检查:

    $db = new mysqli('localhost', 'username', 'password', 'database');
    $query = $db->query('SELECT `lessons` FROM `lessonno`');
    $results = $query->fetch_assoc();
    $lessons = $results['lessons'];
    

    【讨论】:

    • 当我使用您建议的第一种方法时。它说“注意:未定义的变量:课程”但是我已经连接了我的数据库,为什么它说我的“课程”未定义?
    • @Chunkeat 是否定义了$lessons?它说它未定义?从数据库中获取值,相应地设置$lessons
    • 我这样做了,$lessons = isset($_POST['lessons']) ? $_POST['教训'] : '';对吗?
    • @Chunkeat 哦,这是来自一个表单,那么,这样说吧:($lessons == ""),因为如果它没有设置,你将它设置为""
    • 错误消失了,但现在即使我的表已经填充,它也会让我进入 create.php。它没有把我带到我的 k1levelselect.php
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 2013-01-14
    相关资源
    最近更新 更多