0

ログインフォームを作成し、jquery を使用して送信しようとしましたが、うまくいきません。Google を検索しましたが、すべての方法が少し複雑です。コードは次のとおりです。

<form id="form1">
<p>Username<p/>
<input type="text" id="username"/>
<p>Password</p>
<input type="password" id="password"/>
<p><input type="Submit" value="Log in" id="button"></p>
</form>

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

$("#button").click(function(){

var username=$("#username").val();
var password=$("#password").val();

$.get("signing.php",{'username':username,'password':password},function(response){
alert(response);
});

});

</script>

私のphpファイルはこのようなものです

<?php

session_start();

$username=$_POST['username'];
$password=$_POST['password'];

include 'model/existusername.php';//This is used to connect to database and find the user

if (existusername($username,$password))
{
$_SESSION['username']=$username;
echo "loged in";  
}
else
{
echo "not loged in"; 
}

?>

何か問題がありますか? 入力ボックスの代わりに選択ボックス (ログインには役に立ちませんが) を使用すると、コードは正常に動作します。ありがとうございました

4

5 に答える 5

1

jquery で get リクエストを送信する $.get() を使用しています。

あなたのphpファイルは$_POST変数をチェックしています。

于 2012-07-04T13:27:34.163 に答える
1

フォームに「アクション=」を追加し、そのようなものの後に:

$('#button').click(function() {
  $('#form').submit();
});

いいえ ?

そして、あなたはGETを使用してPOSTを回復しようとしています..それは正常ではないと思います.

于 2012-07-04T13:27:38.197 に答える
0

メソッドを次のように編集します。

$("#button").click(function(event){
    event.preventDefault();

    // ...
});

または、送信されないボタン入力を使用します。

<input type="button" value="Log in" id="button">

ボタンは送信ボタンであるため、ページはGET応答が到着する前にフォーム送信を実行しています。送信が行われないようにしてください。そうすれば、コードは機能するはずです。

于 2012-07-05T15:16:23.283 に答える
0
<form id="form1" method="post" action="pathToYourPhpScript">
 <p>Username<p/>
 <input type="text" id="username"/>
 <p>Password</p>
 <input type="password" id="password"/>
 <p><input type="Submit" value="Log in" id="button"></p>
</form>

メソッドを選択することを忘れないでください。また、フォームの開始タグでアクションを慎重に選択する必要があります。

標準として、データは GET リクエストを介して送信され、投稿か​​ら読み取ろうとしています。

私が提供した例はAJAXを使用していませんが、Ajaxで動作させたい場合は、javascriptを変更してPOSTリクエストを実行する必要があります。

于 2012-07-04T13:27:06.813 に答える
0

とてもシンプルです

$.ajax({
                        type: "POST",
                        cache:false,
                        async:true,
                        url: "index.php",   
                        data: $('#id').serialize(),                         
                        success: function(data){
                            alert(data);
                        }
            });

ここで id はフォームの id です。これは非常に簡単に実行できます。

于 2012-07-11T10:20:47.023 に答える