2012-04-14 4 views
0

그래서 이번에는 웹 프로그래밍 언어로 가기로 결정했습니다. 나는 항상 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> 

답변

3

몸 태그는>

</body> 

을 잊고 제출 버튼의 이름 :)의 공간을 삭제할 닫혀 있지

+0

나는 심지어 일부러 그런 복잡한 실수를 찾고 있었다 이것을 보시오. ( – Learath2

+0

내가 코드를 끊는 곳을 알기 위해 에코를 넣기 위해 이런 상황에서 자아를 발견한다면 나는 추천한다.) – Tarik

관련 문제