亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 驗證顯示錯誤的圖標

PHP 驗證顯示錯誤的圖標

PHP
三國紛爭 2023-07-08 21:58:12
我是 PHP 新手。我在這里嘗試在驗證失敗時顯示錯誤圖標PHP<?php// define variables and set to empty values$nameErr = "";$name = "";if ($_SERVER["REQUEST_METHOD"] == "POST") {  if (empty($_POST["name"])) {    $nameErr = "Name is required";  } else {    $name = test_input($_POST["name"]);  } }?>超文本標記語言<div class="<?php if (empty($nameErr)){ echo 'success-validate';} else { echo 'failure-validate'; } ?>">                </div>在這里,當頁面第一次加載時,我總是會看到成功驗證圖標。但是當我單擊提交按鈕時,驗證工作正常。請幫我解決這個問題。
查看完整描述

1 回答

?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

所以,這里的問題是你有 3 種狀態(valid、no-valid和no-validation-used),而不是你一開始想到的兩種狀態。


因此,最簡單的解決方案是添加另一個標志來告訴驗證已經開始,例如:


// define variables and set to empty values

$nameErr = "";

$name = "";

$validationApplied = false;  // here

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  $validationApplied = true;

  

  if (empty($_POST["name"])) {

    $nameErr = "Name is required";

  } else {

    $name = test_input($_POST["name"]);

  } 

}

然后,您可以在 html 中檢查這兩個變量,如下所示:


<div class="<?php if ($validationApplied) { echo empty($nameErr) ? 'success-validate' : 'failure-validate'; } ?>">                

</div>

另一種解決方案是檢查$nameErr和$_SERVER["REQUEST_METHOD"] == "POST"。它與上面的方法相同,只是代替您檢查的不同標志REQUEST_METHOD:


<div class="<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { echo empty($nameErr) ? 'success-validate' : 'failure-validate'; } ?>">                

</div>


查看完整回答
反對 回復 2023-07-08
  • 1 回答
  • 0 關注
  • 174 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號