2012-03-30 2 views
0

괜찮습니다. 제 질문에 대한 답을 써야했지만, 자바 스크립트 코드는 다음 단계로 진행할 수 없습니다. [submit '] 그냥 거기에 붙어 있습니다. 정말 여기에 누군가가 내 올바른 자바 스크립트 코드를 도울 수 있기를 바랍니다. 그러면 성공적으로 isset을 호출하고 PHP 코드를 실행하여 데이터베이스에 추가합니다.자바 스크립트 유효성 검사를 데이터베이스에 삽입 할 수 없습니다.

내 PHP 코드

if(isset($_POST['submit'])){ 

$firstname = mysql_escape_string($_POST['fname']); 
$lastname = mysql_escape_string($_POST['lname']); 
$age = mysql_escape_string($_POST['age']); 
$gender = mysql_escape_string($_POST['gender']); 
$email = mysql_escape_string($_POST['email']); 
$password = mysql_escape_string($_POST['password']); 
$nickname = mysql_escape_string($_POST['nickname']); 
$regflag = 0; 



$sql = "SELECT * FROM accounts"; 
$query = mysql_query($sql); 
while($row = mysql_fetch_assoc($query)) 
{ 

     if($row['email'] == $email) 
     { 
      echo '<b> The email is already taken!</b>'; 
      $regflag = 0; 
     } 
     if($row['nickname'] == $nickname) 
     { 
      echo '&nbsp;<b>The nickname is already taken!</b>'; 
      $regflag = 0; 
     } 
} 

if($regflag == 1) 
{ 

    $regsql = "INSERT INTO accounts   VALUES('','$firstname','$lastname','$age','$gender','$email','$password','$nickname','MEMBER',now())"; 
    $query = mysql_query($regsql); 
    echo '<body onLoad = "regsucess()"> </body>'; 
} 

}

내 자바 스크립트 코드

<script type = "text/javascript"> 
function validator(){ 

    if(!document.register.fname.value) 
    { 
    alert('You need to supply your first name.'); 
    document.register.fname.focus(); 
    return false; 
    } 
    if(!document.register.lname.value) 
    { 
    alert('You need to supply your last name.'); 
    document.register.lname.focus(); 
    return false; 
    } 
    if(!document.register.age.value) 
    { 
    alert('You need to supply your age.'); 
    document.register.age.focus(); 
    return false; 
    } 
    if(!document.register.email.value) 
    { 
    alert('You need to supply your email.'); 
    document.register.email.focus(); 
    return false; 
    } 
    if(!document.register.password.value) 
    { 
    alert('You need to supply your password.'); 
    document.register.password.focus(); 
    return false; 
    } 
    if(!document.register.nickname.value) 
    { 
    alert('You need to supply your nickname.'); 
    document.register.nickname.focus(); 
    return false; 
    } 


register.action = "register.php" 
document.register.submit(); 
//alert("Congrats!"); 


} 

+0

사용중인 html 코드를 입력하십시오. –

+0

웹 콘솔을 사용하여 Firefox에서 실행하십시오. 어떤 오류가 있습니까? – qitch

+0

또한 데이터베이스 연결은 어디에 있습니까? 4.3 이하 버전의 mysql을 사용하고 있지 않다면 mysql_real_escape_string을 사용해야 할까? mysql_escape_string은 더 이상 사용되지 않습니다. 물론 대부분의 사람들은 사용할 준비가 된 준비된 문장을 사용하라고 말할 것입니다. – qitch

답변

0

register.action = "register.php"하지
document.register.action = "register.php"? 당신이 당신의 형태로 아무것도 name="submit"가있는 경우 마지막으로 당신이 스크립트

에서 제출 이벤트를 호출 할 수 없습니다 버튼을 제출하거나 onsubmit에서 다음 마지막 줄 document.register.submit();

을 제거하려면의 onclick을에서이를 호출하는 경우도
여기

내가 사용

<script type = "text/javascript"> 
function validate(theForm){ 

    if(!theForm.fname.value) { 
    alert('You need to supply your first name.'); 
    theForm.fname.focus(); 
    return false; 
    } 
    if(!theForm.lname.value) { 
    alert('You need to supply your last name.'); 
    theForm.lname.focus(); 
    return false; 
    } 
    if(!theForm.age.value) { 
    alert('You need to supply your age.'); 
    theForm.age.focus(); 
    return false; 
    } 
    if(!theForm.email.value) { 
    alert('You need to supply your email.'); 
    theForm.email.focus(); 
    return false; 
    } 
    if(!theForm.password.value) { 
    alert('You need to supply your password.'); 
    theForm.password.focus(); 
    return false; 
    } 
    if(!theForm.nickname.value) { 
    alert('You need to supply your nickname.'); 
    theForm.nickname.focus(); 
    return false; 
    } 
    return true 
} 
</script> 

을 기대할 것 인 것이다

<form action="register.php" onsubmit="return validate(this)"> 
+0

감사합니다. 이제 아이디어가 있습니다. –

0

데이터베이스에 삽입하기 위해 PHP 코드에서 Javascript를 사용하는 코드를 복제해야합니다. 실제로 삽입 코드는 더 강해야합니다 - 자바 스크립트 물건은 일반적인 용의자 (오타 등)를 선택하고 사용자에게 더 나은 경험을 제공하는 것입니다.

자바 스크립트 코드가 PHP 코드보다 덜 가벼운 지 확인하십시오.

0

mplungjan과 동의합니다.

양식 html 코드를 표시 할 수 있습니까? 어쩌면 제출 입력에 '제출'과 다른 ID가있을 수 있습니다.

관련 문제