0

新しいユーザー名とパスワードをサイトに追加するためのフォームがあります。12文字のパスワードを生成してパスワードテキストボックスに入力するボタンを追加しようとしています。このボタンを押すたびに、すでにパスワードが削除され、別の12文字のパスワードが追加されます。

これが私のレイアウトです: http ://snag.gy/L4woo.jpg

これが私のフォームです:

<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>

私のユーザー名とパスワードは、標準の正規表現を使用した別のJavaScript関数で検証されます

そして、これが私の12文字のパスワード生成機能です。

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;
}

このボタンをクリックして、この機能を必要なテキストボックスに適用する方法がわかりません。あなたが助けることができることを願っています。ありがとう

4

2 に答える 2

1

サーバーで新しいパスワードを生成するのはなぜですか?
javascriptを使用してクライアント側でパスワードを生成するだけです!

編集:JSとjQueryでそれを行う方法の簡単な例を次に示します

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

<button type="password"そして、あなたのhtmlコードが無効なhtmlであるリファクタリングしてください;)

于 2012-09-07T09:56:56.737 に答える
1

私が正しく理解している場合、これは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に通知することができます。私が何を意味するのか理解していただければ幸いです。

于 2012-09-07T10:05:08.017 に答える