2

だから私は次のコードを持っています:

<?php
$users_id = $_POST['users_id'];
    if ($users_id=="1");
    {
    ?>
        <td><select name="User">
        <option></option>
        <option>John</option>
        <option>Jack</option>
        </select></td>  
<?php
    }
    if ($users_id!=="1");
    {
    ?>      
        <td align="left"> <input type="text" name="User" /><br></td></tr>
<?php
    }
    ?>

1つのフォーム(ドロップダウンまたは入力)のみを表示したいのですが、常に両方を取得し、ifステートメントの何が問題になっているのか理解できません。助けてください!お手数をおかけしますが、よろしくお願いいたします。

4

9 に答える 9

7

他のステートメントで!==等式を使用しているのを見ると、すべきでないときに同じ演算子を使用したようです。==if

ifそして、さらに重要なのは、条件の後にセミコロンを付けることです。これにより、条件の後に空のステートメントが作成され、if条件を満たしているかどうかに関係なく、その後はすべて実行されます。

変更してみてください

if ($users_id!=="1");

の中へ

if ($users_id!="1")

if ($users_id=="1");

if ($users_id=="1")
于 2012-11-19T12:03:49.273 に答える
3

コードを削除してこれを貼り付けます...確実に機能します

<?php
$user_id = (isset($_POST['users_id'])) ? $_POST['users_id'] : '';
if($user_id == 1){
?>
<td><select name="User">
<option></option>
<option>John</option>
<option>Jack</option>
</select></td>
<?php
} else {
?>
<td align="left"> <input type="text" name="User" /><br></td>
<?php
}
?>
</tr>

コードに加えられた変更により、 投稿フィールドの検証が行われ、削除されました。if条件から、if-ifの代わりにif-elseを使用し、</tr>すべての処理の後に配置します。そうでない場合は、目に見えるエラーが返されます。

于 2012-11-19T12:05:31.660 に答える
2

if($ users_id!= "1");

これを試して。

于 2012-11-19T12:03:28.670 に答える
2

if-linesからセミコロンを削除し、2番目のif-conditionを次のように変更します。

if ($users_id!="1")

または、次の構文を使用します。

if ($users_id=="1") {
    // select
} else {
   // input
}
于 2012-11-19T12:04:13.007 に答える
2

2つのの代わりに、ブロックif()を使用します。if/else

if( $users_id=="1" ) {

  // ... something

} else {

  // something else

}

===の違いがわからない場合は使用しないでください。こちらのドキュメントを参照してください:http ://www.php.net/manual/en/language.operators.comparison.php=====

于 2012-11-19T12:04:24.383 に答える
2

2つの変更

  1. if条件の後にセミコロンを削除します

    f ($users_id!="1")

  2. !==を!=に変更します

于 2012-11-19T12:05:56.137 に答える
1

if条件の後に存在するセミコロンを削除します

于 2012-11-19T12:04:49.493 に答える
0

コードの変更を確認してください

if ($users_id!=="1");

if ($users_id!="1")

if();も削除します。if()に移動し、Ifelseについてお読みください

于 2012-11-19T12:07:35.647 に答える
0

if($ users_id!== "1"); //correct-> if($ users_id!== "1")

<?php
$users_id = $_POST['users_id'];

    if ($users_id==1);
    {

     echo   "<td><select name='User'>
        <option></option>
        <option>John</option>
        <option>Jack</option>
        </select></td>";  

    }
    if($users_id!=1)
    {

        echo "<td align='left'> <input type='text' name='User' /><br></td></tr>";

    }
    ?>
于 2012-11-19T12:11:50.057 に答える