$_POSTで渡されるパラメータの判定について質問します。数値が取得できません。

WBOY
リリース: 2016-06-23 13:57:50
オリジナル
1061 人が閲覧しました

Web ページには new/modify 関数があります。 if (isset($_POST['id']) && isset($_POST['uname'])&& !empty($_POST['id']) && !empty($_POST['uname '])) {
$id = $_POST['id'];
$uname= $_POST['uname'];
if ($pid==0){
新規ユーザー ------- - -------------渡された値が 0 の場合、ステートメントは実行されません。 渡された値が 00 の場合、ステートメントは実行されます。 ... >

ユーザー名:




ディスカッションに返信

期限
つまり
if (isset($_POST['id']) && isset($_POST[ 'uname' ])&& !empty($_POST['id']) && !empty($_POST['uname']))
赤い部分が成立していないので分岐には入りません

なぜなら < ;input id='pid' name=' id' type='text' value=' 0'/>
つまり

if (isset($_POST['id']) && isset($_POST['uname'] )&& !empty($_POST ['id']) && !empty($_POST['uname']))

赤い部分は true ではないため、分岐には入りません


id=0 が空とみなされる理由? 0 は少なくとも値です。 Empty ではありません

$a = '0';var_dump(! empty($a));//bool(false)
ログイン後にコピー

empty の説明を読むことができます

ルールはあなたが従うべきものですが、少し不十分かもしれません

if ($pid==0){ ここにも問題があります、$pid には何もありませんvalue, $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'])) {



フォーム送信かどうかを判断するには、
if($_SERVER['REQUEST_METHOD'] == "POST") だけです
さらに簡単なのは
if( $_POST )

送信されたデータは常に文字列なので、ID制御が0かどうかを判断します
if($_POST['id'] === '0')
以上です

もちろんです

if($_POST ['id' ] == '0')
if(empty($_POST['id']))
も可能ですが、空白か0か区別できません

if ($_POST)	{    $id = $_POST['id'];    $uname= $_POST['uname'];    if ($id==0){      新增用户---------------------如果传递过来的值是0,则不执行该语句,如果传来的值是00,则执行该语句。    }else{      修改用户    }}
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート