搜尋

首頁  >  問答  >  主體

第一次進會有錯誤訊息,點一下按鈕就消失了

<meta charset="utf8">
<p>平年、閏年計算器</p>
<form>
   <input type="text" name= "num1">
   <input type="submit" value="判斷">
</form>]PS2RRFF5669X7~3S7N}XRR.pngCU}AW~B7NU4HAI$ZL_H%M5R.png

<?php
# $num1=$_GET['num1'];
if(!is_numeric($num1))
{echo '請正確輸入年份';
exit;}
if($num1%4 ==0 and $num1 0!==0 或 $num1@0==0)
{echo $num1.'年是閏年';}
else
{echo $num1.'年是平年';}

?>

红红火火恍恍惚惚红红火火恍恍惚惚1876 天前1352

全部回覆(7)我來回復

  • 海风

    海风2019-10-09 11:09:14

    第一次進入時$_GET['num1']不存在,給一個量變賦不存在的值是會出錯的,所以給$num1一個初始值,如:$num1 = isset($_GET[' num1']) ? $_GET['num1'] : 2019;

    如果不想一刷新就出來2019年是平年這句話,程式修改如下:

    #<?php

    if (!empty($_GET['num1'])){

    $num1=$_GET['num1'];

    if(%

    回覆
    1
  • 红红火火恍恍惚惚

    好的 謝謝大佬

    红红火火恍恍惚惚 · 2019-10-09 22:41:12
    红红火火恍恍惚惚

    為什麼isset會報錯 empty不會報錯呢

    红红火火恍恍惚惚 · 2019-10-09 23:07:47
    红红火火恍恍惚惚

    大佬,我剛剛試驗了一下 感覺結論是 當num1不為空 就執行$num1=$_GET['num1']; num1如果為空就不會執行大括號內的程式碼 我這個結論是正確的還是錯的

    红红火火恍恍惚惚 · 2019-10-09 23:17:50
    海风

    查一下手冊,empty函數判斷參數是否為空,如果參數為空則empty函數傳回值為ture。因此,若num1為空,empty('num1')回傳真,!empty('num1')為假,故大括號內的程式碼不會執行。

    海风 · 2019-10-10 09:22:57
  • 卢小强

    卢小强2019-10-08 11:52:19

    第一次進的時候 $num1的值 你可以印出來看看  我估計是NULL,NULL不能當運算吧

    回覆
    1
  • 红红火火恍恍惚惚

    的確是null 這個要怎麼解決呢

    红红火火恍恍惚惚 · 2019-10-08 20:13:50
  • 取消回覆