0

そこで今回は、Webプログラミング言語を使うことにしました。私はいつもPHPの仕組みが好きだったので、それを学び始めました。ログインページを作成し始めましたが、何が問題なのかわかりません。記号を使用してもエラーはありません。フォームが処理されているとは思いません。これは、同じページのフォームを処理する正しい方法ですか?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<?php
session_start();
include("includes/connect.php");

if(isset($_SESSION['uid'])){
    header('Location:member.php');
}

if(isset($_POST['submit'])){
    $error = array();

    //username
    if(empty($_POST['username'])){
        $error[] = 'You cant have no username can you';
    }else if(ctype_alnum($_POST['username'])){
        $username = $_POST['username'];
    }else{
        $error[] = 'Username cannot contain symbols';
    }

    //password
    if(empty($_POST['password'])){
        $error[] = 'YOU NEED A PASSWORD';
    }else{
        $password =  sha1(mysql_real_escape_string($_POST['password']));
    }

    //error
    if(empty($error)){
        $result = mysql_query("SELECT * FROM user_info WHERE username='$username' AND password='$password'") or die(mysql_error());
        if(mysql_num_rows($result)==0){
            $error_message='Username or Password wrong';
        }else{
            $_SESSION['username'] = $username;
            $_SESSION['user_id'] = mysql_result($result, 0, 'user_id');
        }
    }else{
        foreach($error as $key => $values) {
            $error_message.= "$values";
        }
    }
}


?>

<html>
<head>
    <title>Login :)</title>
</head>
<body>
<div style="background-color:#A0A0A0" align="center">
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
    <h3>Login</h3>
    <div>
        <label for="username">Username:</label>
        <input type="text" name="username" maxlength="10"/>
    </div>
    <div>
        <label for="password">Password:</label>
        <input type="password" name="password" maxlength="20"/>
    </div>
    <div>
        <input type="submit" name="submit "value="Login"/>
    </div>
</form>
<?php echo $error_message; ?>
</div>
</body
</html>
4

1 に答える 1

3

ボディ タグが閉じていません。忘れてしまいました >

</body>

送信ボタンの名前のスペースを削除します:)

于 2012-04-14T17:56:08.460 に答える