2012-01-26 4 views
1

2 개의 텍스트 필드, 사용자 및 비밀번호가 있습니다. 암호를 입력하면 첫 번째 암호로 점프합니다. 왜 그런 일이 벌어지고 있는지 나는 모른다. 나는 그것이 왜 뛰어 오르는 지 알 수 없었다. 암호 형식이 변경되지 않도록 어떻게 변경합니까? 코드는 다음과 같습니다.HTML 입력 필드 점프

<?php 

session_start(); 
require_once 'database.php'; 
if (isset($_SESSION['user'])){ 

echo "Welcome ".$_SESSION['user']; 

?> 

<form name="logout" method="post" action="logout.php"> 

<input type="submit" name="logout" id="logout" value="Logout"> 

</form> 

<br /><form name="news" method="post" action="news.php"> 

<input type="submit" name="news" id="news" value="News"> 

</form> 

<?php 

} 

elseif(isset($_SESSION['admin'])){ 

echo"Welcome ".$_SESSION['admin']; 

echo"<br><br>You are logged in as an Admin"; 

?> 

<form name="logout" method="post" action="logout.php"> 

<input type="submit" name="logout" id="logout" value="Logout"> 

</form> 



</form> 

<?php 

}else{ 

?> 

<form name="login_form" method="post" action="login2.php"> 

<label> 

<input name="user" type="text" id="user">ID<br /> 

<input name="pass" type="password" id="pass">Password<br /> 

</label> 

<input type="submit" name="login" id="login" action="index.php" value="Login"> 

</label> 

</p> 

</form> 

<form name="Register" method="post" action="reg.php"> 

<input type="submit" name="register" id="register" value="Register"> 

</form><br /> 

<form name="news" method="post" action="news.php"> 

<input type="submit" name="news" id="news" value="News"> 

</form> 

<?php 

} 

?> 
+1

내가 문제를 재현 할 수 없습니다. 어떤 브라우저에서 그것을 보았습니까? 로그인 양식 만 포함 된 페이지로 테스트하면 여전히 발생합니까? (코드에서 해결해야 할 많은 것들이 있지만 문제를 일으키는 것으로 보이지는 않습니다.) - 죄송합니다. 이제 암호 필드를 처음 * 클릭하면 (다소 기묘하게), Firefox는 사용자 이름 필드에 초점을 맞 춥니 다 (잘못된'label' 마크 업 때문에). –

답변

2

이 :

<label> 

    <input name="user" type="text" id="user">ID<br /> 

    <input name="pass" type="password" id="pass">Password<br /> 

</label> 

이되어야한다

<input name="user" type="text" id="user"> 
<label for="user">ID</label><br /> 
<input name="pass" type="password" id="pass"> 
<label for="pass">Password</label><br /> 
3

두 입력을 하나의 레이블로 묶었습니다. 브라우저가 혼란스러워지고 전체 내용이 첫 번째 입력에 대한 레이블이라고 생각합니다 (레이블이 작동하는 방식입니다). 입력을 위해 텍스트를 줄 바꿈하는 경우에만 <label>을 사용해야합니다.

+0

그는 이름과 ID가 같은 두 개의 필드가 있습니다. – j08691

+0

올바른 해결책이지만, 나는 불필요한 ID를 가지고 놀면서 가난한 사람들을 위해 많은 노력을 기울이기 때문에 1 (1) 입력 주위에'label'을 감싸는 것을 좋아합니다. 하지만 실제로는 결코 그때가 아닙니다. 1 – Wrikken

+1

@Wrikken 나는 그것을 역시합니다. 나는 그것이 틀렸다는 것을 암시하는 것을 의미하지 않았다. 단지 두 개를 감싸는 것이 잘못되었다. * ''. –