0
今回は、Webプログラミング言語を使うことにしました。私はいつもPHPの仕組みが好きだったので、私はそれを学び始めました。私はログインページを作り始めましたが、私はちょうどそれが何が間違っているのか分かりません。シンボルを使用するとエラーは発生しません。私はフォームが処理されているとは思わない。これは同じページのフォームを扱う正しい方法ですか?同じページの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>
私は、私もdidntのような複雑な間違いを探していた閉鎖されていませんこれを参照してください:( – Learath2
私は、これらの状況であなたのコードが壊れている場所を知るためにブロックにエコーを置くためにあなた自身を見つけるならばお勧めします) – Tarik