1

これは非常に奇妙な問題です..私は解決策を探し回っています..これが私のコードです。これは、私が作成しているWebサイトのアカウント設定ページの一部です。コードは、ユーザーが自分の名を変更することと関係があります。

// if there are post vars, user has changed something
if($_POST) {
if(isset($_POST['firstname'])) {
    $firstname = trim($_POST['firstname']);

    if(strlen($firstname) < 2 || strlen($firstname) > 15) {
        $msg = "<span class='errmsg'>Could not complete your request. First name must be between 2 and 15 characters.</span>";
    }
    else {
        // connect to db
        require_once('modules/config.php');

        // update table
        $query = sprintf("UPDATE Users SET FirstName = '%s' WHERE Email = '%s'",
            mysql_real_escape_string($firstname),
            mysql_real_escape_string($_SESSION['email']));
        mysql_query($query);

        // set success message
        $msg = "<span class='sucmsg'>First name successfully changed.</span>";

        // reset the firstname session var
        $_SESSION['firstname'] = $firstname;
    }
}
    }

編集:ダゴンが言及した閉じ中括弧を追加しました。

4

2 に答える 2

0

私はあなたが}最後に行方不明だと思います。

else {

実際に閉じています:

if(isset($_POST['firstname'])) {

それ以外の

if(strlen($firstname) < 2 || strlen($firstname) > 15) {

于 2012-06-09T04:05:09.987 に答える
0

これで問題が解決するかどうかわかりませんが、試してみてください...

 if(in_array(strlen($firstname), range(2, 15)))
于 2012-06-09T04:16:21.837 に答える