還是上午那個空提交的問題

來源:互聯網
上載者:User
關鍵字 php

之前的問題是 比如輸入框裡面什麼都不輸入直接點擊提交 應該列印的出來的是“你還沒有輸入” 可是My Code列印出來的是“沒有” 我聽別人說把isset改成trim就好了 我試了一下 空提交時確實可以列印出來“你還沒有輸入” 但是問題是每次一開啟這個頁面時都會報錯 Notice: Undefined index: num in D:wampwwwtest.php on line 13 為什麼會這樣?
後來試了一下 改成empty也不對 那麼應該怎麼辦呢?而且我想要的效果是每次一開啟這個頁面時什麼提示都沒有 不顯示“沒有”或“你還沒有輸入” 謝謝

          prepare("select * from aaa where num=?");$stmt->execute(array($_POST['num']));$res=$stmt->fetchall(PDO::FETCH_ASSOC);if($res){            foreach($res as $v){          echo $v['name'];         }       }else{        echo "沒有";       }}else{    echo "你還沒有輸入";}?>

回複內容:

之前的問題是 比如輸入框裡面什麼都不輸入直接點擊提交 應該列印的出來的是“你還沒有輸入” 可是My Code列印出來的是“沒有” 我聽別人說把isset改成trim就好了 我試了一下 空提交時確實可以列印出來“你還沒有輸入” 但是問題是每次一開啟這個頁面時都會報錯 Notice: Undefined index: num in D:wampwwwtest.php on line 13 為什麼會這樣?
後來試了一下 改成empty也不對 那麼應該怎麼辦呢?而且我想要的效果是每次一開啟這個頁面時什麼提示都沒有 不顯示“沒有”或“你還沒有輸入” 謝謝

          prepare("select * from aaa where num=?");$stmt->execute(array($_POST['num']));$res=$stmt->fetchall(PDO::FETCH_ASSOC);if($res){            foreach($res as $v){          echo $v['name'];         }       }else{        echo "沒有";       }}else{    echo "你還沒有輸入";}?>

因為在你沒有提交前,POST資料是沒有的,所以$_POST[‘num‘]不存在報錯。在前面加個@就好了,或者先定義POST為空白。

PHP版本不同造成的報錯層級不同,可以在頂部入口隱藏掉notice層級的錯誤:

error_reporting( error_reporting() & ~E_NOTICE )

看不下去了

if(empty($_POST['num'])){    echo '未輸入num';}
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.