나는 PHP 스크립트와 함께 양식의 유효성을 검사하려고합니다. 유효성 검사가 완벽하게 작동하지만 정확한 세부 정보를 제출하면 버튼이 클릭되지 않습니다. 필자는 세부 정보를 입력하지 않으면 필수 필드의 msg가 표시됩니다. 잘못된 세부 정보를 입력하면 경고 메시지가 표시됩니다. 하지만 정확한 세부 정보를 입력하면 로그인 버튼이 클릭되지 않습니다.alls() 함수에서 나는 사실을 반환하려고했지만 그 다음에는 필요한 필드 메시지를 잠시 표시 한 후에 새로 고치는 문제가 발생합니다.제출 버튼이 클릭되지 않았습니다
HTML 코드 :
<form id="frm_login" method="post" name="frm_login" onSubmit="return alls()">
UserName: <input type="text" name="txt_usrnm" /><label id="i"></label>
<br/><br/>
Password: <input type="password" name="pswd" /><label id="i1"></label>
<br/><br/>
<input type="submit" name="submit" value="Login" style:"width=10px"/>
<a href="forgotPassword.php">Forgot Password ?</a>
<br/><br/>
<font size="+1"><a href="reg.html">Register Here</a></font>
</form>
자바 스크립트 :
<script type="text/javascript">
function req()
{
if (document.frm_login.txt_usrnm.value=="")
{
document.getElementById('i').innerHTML="*This field is required";
document.getElementById('i').style.color="red";
document.getElementById('i').style.fontSize="12px";
}
if (document.frm_login.pswd.value=="")
{
document.getElementById('i1').innerHTML="*This field is required";
document.getElementById('i1').style.color="red";
document.getElementById('i1').style.fontSize="12px";
}
return false;
}
function validateUname()
{
submitFlag = true;
var len=document.frm_login.txt_usrnm.value.length;
if((len>0) && (len<6)){
submitFlag=false;
document.getElementById('i2').innerHTML="*Enter atleast 6 characters";
document.getElementById('i2').style.color="red";
document.getElementById('i2').style.fontSize="12px";
}
return submitFlag;
}
function alls()
{
req();
validateUname();
//CheckPassword(this);
//num();
//confirm_pswd();
//namevalid();
//ValidateEmail(this);
return false;
}
</script>
PHP 코드 :
<?php
if(isset($_POST['submit']))
{
$usrnm1=$_POST['txt_usrnm'];
$pswd1=$_POST['pswd'];
$user_name = "root";
$password = "";
$database = "show_your_talent";
$server = "127.0.0.1";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);
$res="select * from username where UserName='$usrnm1' and Password='$pswd1'";
$result2 = mysql_query($res,$db_handle);
$count=mysql_num_rows($result2);
if($count==1)
{
$_SESSION['user'] =$usrnm1;
//echo $_SESSION['user'];
header("Location: category.php");
}
else
{
//$_SESSION['user']="false";
echo "<script type='text/javascript'> alert('Incorrect UserName/Password.')</script>";
//header('Location: index.php');
}
mysql_close($db_handle);
}
?>
[mysql_ *'functions] (http://stackoverflow.com/questions/12859942/why-shouldnt-use-mysql-functions-in-php)를 사용하지 마십시오. 더 이상 사용하지 않습니다. (공식적으로 권장되지 않음) (https://wiki.php.net/rfc/mysql_deprecation). 대신 [prepared statements] (http://en.wikipedia.org/wiki/Prepared_statement)에 대해 알아보고 [PDO] (http://us1.php.net/pdo) 또는 [MySQLi] (http : //)를 사용하십시오. us1.php.net/mysqli). [이 기사] (http://php.net/manual/en/mysqlinfo.api.choosing.php)를 사용하면 결정하는 데 도움이됩니다. –