0

私はこのJavascriptを持っています:

<script type="text/javascript" src="sha512.js"></script>
<script type="text/javascript" src="forms.js"></script>

<script>
            function loadXMLDoc(form, password) 
            {
            var xmlhttp;
            if (window.XMLHttpRequest)
              {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
              }
            else
              {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
              }
            xmlhttp.onreadystatechange=function()
              {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
               {
                   document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                   formhash(form, password);
               }
              }
            xmlhttp.open("POST","post.php",true);
            xmlhttp.send();
            }
</script>

そしていくつかのHTML:

<div id="myDiv">
    <form action="register.php" method="post">
       Email: <input type="text" name="email" /><br />
       Username: <input type="text" name="username" /><br />
       Password: <input type="password" name="p" id="password" /><br />
       <input type="button" value="Register" onclick="loadXMLDoc(this.form, this.form.password);" />
    </form>
</div>

上記の Javascript コードには、PHP で Ajax を実行した後、暗号化関数 (formhash) を実行するジョブがあります。Ajax が実行されると、"post.php" という名前のページが読み取られます。post.php の仕事は、パスワードが暗号化される前に、フィールドのいずれかが空かどうかをチェックすることです。

私の問題は、post.php が、上に投稿した登録フォームからの値があることを思い出せないことです。post.php は、フィールドが空かどうかを確認するために、ユーザーがフィールドに入力した内容を覚えておく必要があります。これらの値を post.php ファイルに転送する方法についてのアイデアはありますか?

4

2 に答える 2

1

以下の行でサーバーにデータを送信していないようです:

            xmlhttp.open("POST","post.php",true);

以下のコードを試して、データを送信できます。

xmlhttp.open("POST","post.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("email=e@gmail.com&username=Ford&p=pass123");
于 2013-09-30T09:30:57.193 に答える
1

あなたが試すことができます:

   parameters= 'username='+ form.elements[0].value +'&' +'password=' +form.elements[1].value ;
   xmlhttp.open("POST","post.php",true);
   xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
   xmlhttp.send(parameters);
于 2013-09-30T09:38:05.960 に答える