2012-09-07 3 views
0

사이트에 새로운 사용자 이름과 암호를 추가하는 양식이 있습니다. 12 문자 비밀번호를 생성하고 비밀번호 텍스트 상자에 넣는 버튼을 추가하려고합니다. 이 버튼을 누를 때마다 이미 비밀번호를 삭제하고 다른 12 자의 비밀번호를 추가해야합니다.은 임의의 암호를 생성합니다. 버튼을 텍스트 상자에 삽입

<form method="post" action="addNewLogin.php" name="addUserLoginForm" id="addUserLoginForm" onsubmit= "return validateNewLoginForm()" > 
    <input type="hidden" name="submitAttempt" value="true"/> 
    <table style="background-color: White; padding:20px;" align="center"> 
        <tr> 
      <td style="width:180px;"> 
         <label style="margin-left:400px;">Username</label> 
        </td> 
        <td style="width:420px;"> 
           <input name="username" type="text" style="width:140px;" onchange= "return usernameValidation(this)" /> 
        </td> 
     </tr> 
     <tr> 
        <td> 
         <label style="margin-left:400px;">Password</label> 
        </td> 
        <td> 
         <input name="password" type="password" style="width:140px;" onchange= "return passwordValidation(this)"/> 
        </td> 
          <td style="margin-right: 200px;"> 
           <button type="password" type= "text" onclick="return generateKey()">Generate Password!</button> 
          </td> 
     </tr> 
     </table> 
<div align="center"><input type="submit" value="Add Login Details For New User" /></div> 
</form> 

내 사용자 이름과 암호가 여기에 표준 정규식

를 사용하여 별도의 자바 스크립트 기능을 통해 확인하고 내 12character입니다 : 내 양식이 방법은 다음과 http://snag.gy/L4woo.jpg

입니다 :

내 레이아웃입니다 비밀번호 생성 기능 :

public function generateKey() 
{ 
     $random_bytes = openssl_random_pseudo_bytes(9); 
     $random_string = mysql_escape_string(str_replace(array(1 => "+",2 => "/"), array(1 => "-", 2 => "_"), base64_encode($random_bytes))); 
     return $random_string; 
} 

이 버튼을 클릭하여 필요한 텍스트 상자에이 기능을 적용하는 방법을 모르겠습니다. 당신이 도울 수 있기를 바랍니다. 감사합니다

답변

1

왜 서버에 새 암호가 생성됩니까?
자바 스크립트로 클라이언트 측 비밀번호를 생성하십시오! 편집

: 내가 이해하면

+0

두 개의 웹 사이트에 합류하기 위해 60 개 이상의 API 키를 생성해야한다는 것은 이미 사용 된 기능이었습니다. 패스워드를 재사용하기는 쉽다. 당연히 아니. –

+1

jsfiddle을 내 답변에 추가하여 js에서이를 수행 할 수있는 예를 보여 드리겠습니다. – kannix

1

) 여기 는 JS와 jQuery를

http://jsfiddle.net/kannix/KhWR4/

으로 그렇게하고 <button type="password"이 아닌 유효한 HTML 당신의 HTML 코드를 리팩토링하시기 바랍니다하는 방법에 대한 간단한 예입니다 바로 jquery와 ajax를 사용해야합니다. 각 클릭 후 입력 된 요소에 새로운 PHP 생성 암호를로드합니다. 그러나 요소에 ID를 추가해야합니다. 그렇다면 다음과 같이하십시오 :

$('#idofbutton').live("click", (function(){   

     // Ajax 
     $.ajax({ 
      type: "GET", 
      async: false, 
      url: "yourphpwithgenerateKey_Codeonly.php", 
      data: "", 
      success: function(data){     
       $('#idofpasswordinput').text(data);      
      } 
     });// $.ajax   
    })); 

이 예제에서 PHP 코드 파일에는 키 코드 만 있습니다. 물론, get-parameters를 통해 큰 PHP 파일의 단일 메소드를 처리하여 PHP가 사용할 메소드를 알 수 있도록 할 수 있습니다. 당신이 무슨 뜻인지 알기를 바랍니다.

관련 문제