괜찮아요. 지금 2 일 동안 이것을 알아 내려고 노력했지만 나에게 어떤 의미가 없습니다. 그래서 나는 사용자 이름, 전자 메일, 암호 및 다시 암호를 등록 양식을 가지고 있습니다. 각 입력에는 JavaScript를 사용하여 모든 키 업에서 사용자가 입력 한 내용을 PHP로 보내고 유효성을 검사하는 div에 "Good"을 표시합니다. div는 "password_feedback"입니다 (유효한 암호를 입력하면이 모든 항목이 정상적으로 작동합니다. "비밀번호 피드백"div에 "good"표시)javascript in innerHTML diplaying
나는 "password_feedback"에 무엇이 있는지 확인합니다. "if 문"은 "check2"div에 "good"을 표시합니다. "password_feedback"== "Good"그렇지 않으면 "bad"를 표시합니다. 그러나 이것이 작동하지 않는다면 항상 "나쁜"것을 표시 할 것입니다.
이제는 4 개의 입력 모두에 대해 동일한 작업을 수행하는 이상한 부분이 있습니다 (암호를 다시 입력하면 PHP가 자동으로 실행되지 않습니다). "사용자 이름"과 "암호를 다시 입력하십시오"는 모두 작동합니다. 아니. 내가 바꿀 경우
var password_good = document.getElementById ('password_feedback'). innerHTML;
에 VAR의 password_good = document.getElementById를 ('피드백') innerHTML을.; (비밀번호 feedabck 대신 사용자 이름 피드백)
사용자 이름으로 작동합니다. 다시 "password_feedback"은 "Good"으로 표시되어 작동해야합니다.
자바 스크립트에서 사용자 이름 정보로 모든 암호 정보를 바꾸면 작동하므로 잘 작동합니다. 나는 이것이 암호에 대해 작동하지 않는 이유는 모르지만 사용자 이름에 대해서는 왜 그런지 추측한다. iv는 내가 생각할 수있는 모든 것을 시도했다. 나는 페이지를 줄여 암호 만 유효하도록했다. 누군가 나 밖에 몰라요.
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
\t $('#password_feedback').load('password-check.php').show();
\t
\t $('#password_input').keyup(function(){
\t \t //username: is name of variable sent to php, form is name of form, username is name of input
\t \t $.post('password-check.php', { password: form.password.value},
\t \t function(result) {
\t \t \t $('#password_feedback').html(result).show();
\t \t });
\t \t
\t });
});
</script>
<!-- begin snippet: js hide: false -->
<script type='text/javascript'>
function check_info1(){
var password_good = document.getElementById('password_feedback').innerHTML;
if(password_good == "Good"){
document.getElementById("check2").innerHTML = "good";
}
else{
document.getElementById("check2").innerHTML = "bad ";
}
}
</script>
<form name="form" onKeyUp="check_info()" onMouseUp="check_info1()" >
Username:<br />
<input type="text" id="username_input" name="username"><div id="feedback"> </div>
E-mail:<br/>
<input name="email" type="text" id="email_input" value=""><div id="email_feedback"> </div>
Password:<br/>
<input name="password" type="password" id="password_input" value=""><div id="password_feedback"></div>
Re-enter Password:<br/>
<input name="password2" type="password" id="password_retype" value=""><div id="password_feedback2"> </div>
<input type="submit" value="Submit" class="login_btn"/>
</form>
<div id="check"></div>
<div id="check2"></div>
$connect = mysqli_connect("localhost", "????", "????","?????");
if (mysqli_connect_errno()){
echo "failed" . mysqli_connect_error();
}
$password = mysqli_real_escape_string($connect, $_POST['password']);
$check = mysqli_query($connect,"SELECT password FROM users WHERE password='$password'");
$check_num_rows = mysqli_num_rows($check);
if ($password==NULL)
echo "enter a password";
else if(preg_match('~[A-Z]~', $password) &&
preg_match('~[a-z]~', $password) &&
preg_match('~\d~', $password) &&
(strlen($password) > 6)){
echo "Good";
} else {
echo "Not good enough";
}
?>
제안 해 주셔서 감사하지만 작동하지 않았습니다.나는 그것이 영향을 미칠 것이라고 생각하고, 자바가보고있는 div가 제대로 표시되고 있습니다. 자바가 인식하지 못하는 것처럼 보입니다. – mike
키 변경 대신 "변경"또는 "키 누르기"이벤트를 시도하십시오. – mgwhitfield
iv는 모든 종류의 기능을 시험해 보았고 retype-password는 동일하고 다른 "div"와 똑같은 "good"을 찾는다. – mike