$_POST で渡されるパラメータの判定について質問します。数値が取得できません。
Web ページに新規/変更された関数があります。if (isset($_POST['id']) && isset($_POST['uname'])&& !empty($_POST['id']) && !empty($ _POST['uname'])) {
$id = $_POST['id'];
$uname= $_POST['uname'];
if ($pid==0){
新しいユーザー ------------------------ 渡された値が 0 の場合、渡された値が 00 の場合、ステートメントは実行されません。 、このステートメントが実行されます。
}else{
ユーザーを変更
}
}
cleanParameters($_GET);
cleanParameters($_POST);
?>
-----解決策--------- $a = '0';<br />var_dump(! empty($a));//bool(false)<br />
ログイン後にコピー
空の説明を見てください
ルールはあなたが守るものですが、少し物足りないかもしれません
-----解決策-- ----- ------------- if ($pid==0){ ここにも問題があります。$pid には値がありません。$pid = $ _POST['id']
empty — 変数が空かどうかを確認します
bool empty (mixed $var)
このメソッドのルールは次のとおりです
var が非空またはゼロ以外の値の場合、empty() は FALSE を返します。つまり、""、0、"0"、NULL、FALSE、array()、var $var;、および属性のないオブジェクトは空とみなされ、var が空の場合は TRUE が返されます。
0が空ではないと判断したい場合は、次のように書くことができます。
if (isset($_POST['id']) && isset($_POST['uname'])&& !
(empty($_POST['id']) && $_POST['id'] !=0) && !empty($_POST['uname'])) {