0

ユーザーを表示し、管理者権限を変更するスクリプトを作成しています。

コードは次のとおりです。

    while ($row= mysql_fetch_assoc($query)) {
    $uname= $row['username'];
    $fname= $row['first_name'];
    $lname= $row['last_name'];
    $email= $row['email'];
    $admin= $row['admin'];

    $insert .= '<tr>
    <td>' .$uname. '</td>
    <td>' .$fname. '</td>
    <td>' .$lname. '</td>
    <td>' .((isset($email)) ? $email:'No email set.'). '</td>
    <td>'.(($admin == 'y') ? 'Admin':'User').'</td>
    <td><input type="checkbox" name="' .$uname. '" value="'.(($admin == 'y')?'n':'y').'"/>'.(($admin == 'y')?'Make a user':'Make an admin user').'</tr>';
    }   

$insert 変数は、ユーザー データを含むすべてのテーブル行を生成するために、後で html で使用されます。

問題は、スクリプトを実行するとこのメッセージが表示されることです

    Notice: Undefined variable: insert in C:\wamp\www\...\user_edit.php on line 33

このメッセージのみがページの中央に表示されますが、スクリプトは引き続き正常に動作します。

私が取るとき。$insert .= ' の部分からメッセージは消えますが、スクリプトはテーブルに 1 人のユーザーしか表示しません。

これが起こっている理由はありますか?そして、スクリプトを機能させてメッセージを表示しないようにするために、私の問題に対する解決策はありますか?

4

1 に答える 1

11

使用する前に、変数を空の文字列に設定するだけです。.=まだ存在しない変数には使用できません。

$insert = "";
while($row= mysql_fetch_assoc($query)) {
    // ...
    $insert .= '<tr>';
    // ...
于 2012-05-15T17:28:55.553 に答える