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'/>
id=0 が空とみなされる理由? 0 は少なくとも値です。 Empty ではありません
$a = '0';var_dump(! empty($a));//bool(false)
ルールはあなたが従うべきものですが、少し不十分かもしれません
if ($pid==0){ ここにも問題があります、$pid には何もありませんvalue, $pid = $_POST['id']
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{ 修改用户 }}