drecy22400 2018-05-12 13:59 采纳率: 0%
浏览 27
已采纳

未定义的索引:做IF和Elseif

I have a code that insert data into a database with php mysqli getting Undefined index: do on both IF and Elseif line. The insert form works but how do i get the errors to get away? (this is just a part of the code hope you can help)

IF($_GET['do']=='sparatid' ){
   $datum=$_POST['datum'];
   $info=$_POST['info'];
   $color=$_POST['color'];
   $uppdatera = "UPDATE narvaro SET info = '{$info}', color = '{$color}' WHERE datum = '{$datum}'";
   $res = mysqli_query($con, $uppdatera) or die("SQL: Gick ej att uppdatera informationen $uppdatera <br>".mysql_error());
}


ElseIF($_GET['do']=='nytid'){
$datum=$_POST['datum'];
$info=$_POST['info'];
$color=$_POST['color'];
$sql = "insert into narvaro (fornamn, efternamn, datum, info, narvaro_id, pos, color) SELECT (fornamn), (efternamn), '$datum', (info), (narvaro_id), (pos), '$color' FROM narvaro WHERE datum ='2018-02-28'";
$results = mysqli_query($con, $sql);

}

  • 写回答

1条回答 默认 最新

  • doumaikuang4202 2018-05-12 15:03
    关注

    Undefined index:

    If the parameter dohas not been sent along with the request you will get the notice undefined index if you are trying to access it with $_GET['do']. To fix this you would have to check if the index do has been set with isset($_GET['do']).

    Unexpected elseif:

    In the code you provided the elseif should not throw an error, although you should write it all lowercase. If you are interested please have a look at the PHP documentation for else if.

    The working code example:

    <?php
    
        // Display all errors
        error_reporting(E_ALL);
        ini_set('display_errors', 1);
    
        // Check if 'do' has actually been set
        if (isset($_GET['do'])) {
            if ($_GET['do']=='sparatid' ) {
                $datum=$_POST['datum'];
                $info=$_POST['info'];
                $color=$_POST['color'];
                $uppdatera = "UPDATE narvaro SET info = '{$info}', color = '{$color}' WHERE datum = '{$datum}'";
                $res = mysqli_query($con, $uppdatera) or die("SQL: Gick ej att uppdatera informationen $uppdatera <br>".mysql_error());
            } else if ($_GET['do']=='nytid') {
                $datum=$_POST['datum'];
                $info=$_POST['info'];
                $color=$_POST['color'];
                $sql = "insert into narvaro (fornamn, efternamn, datum, info, narvaro_id, pos, color) SELECT (fornamn), (efternamn), '$datum', (info), (narvaro_id), (pos), '$color' FROM narvaro WHERE datum ='2018-02-28'";
                $results = mysqli_query($con, $sql);
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 cocos的js代码调用wx.createUseInfoButton问题!
  • ¥15 关于自相关函数法和周期图法实现对随机信号的功率谱估计的matlab程序运行的问题,请各位专家解答!
  • ¥15 Python程序,深度学习,有偿私
  • ¥15 扫描枪扫条形码出现问题
  • ¥35 poi合并多个word成一个新word,原word中横版没了.
  • ¥15 【火车头采集器】搜狐娱乐这种列表页网址,怎么采集?
  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?