0

私のhtmlフォームは次のとおりです。

<form id="myform" action="" method="post" >
    <input id="firstname" name="firstname" type="text" placeholder="FIRST NAME" autofocus><br>
    <input id="lastname" name="lastname" type="text" placeholder="LAST NAME"><br>
    <input id="gender" name="gender" type="text" placeholder="GENDER" ><br>
    <input id="email" name="email" type="email" placeholder="EMAIL"><br>
    <input id="date" name="date" type="date" placeholder="JOINING DATE" ><br>
    <input id="designation" name="designation" type="text" placeholder="DESIGNATION"><br>
    <input id="username" name="username" type="text" placeholder="USER NAME" ><br>
    <input id="password1" name="password1" type="password" placeholder="PASSWORD" ><br>
    <input id="password2" name="password2" type="password" placeholder="CONFORM PASSWORD" ><br>
    <input type="button" id="submit" value="SUBMIT" />
</form>

このプログラムでは、検証に ajax を使用しています。そのために、フォームをシリアル化しています。

data:$("#myform").serialize(),

PHPでデシリアライズする方法がわかりません。PHPで逆シリアル化するコードを説明できる人はいますか?フォームの作成にhtml5を使用しました。

4

6 に答える 6

0

完全な $.ajax リクエスト コードを表示していません。GET または POST リクエストの可能性があります。

jQuery.ajaxドキュメントから

デフォルトでは、Ajax リクエストは GET HTTP メソッドを使用して送信されます。POST メソッドが必要な場合は、type オプションの値を設定することでメソッドを指定できます。

したがって、GET リクエストの場合は、PHP コードで $_GET を検査する必要があります。または、 $_REQUEST 配列を調べるだけです。そして、他の回答に示されているように、フォームの値にアクセスします: $_GET["firstname"]、たとえば

于 2012-12-10T10:35:22.830 に答える
0

unserialize()php 関数を使用します。

unserialize()シリアル化された単一の変数を受け取り、それを PHP 値に変換します。

http://php.net/manual/en/function.unserialize.php

しかし、あなたの場合..データを投稿しているので、投稿されたデータを対応する名前で取得できます..

 $firstname=$_POST['firstname'];
 $email=$_POST['email'];
 .....
于 2012-12-10T10:10:55.987 に答える
0

シリアル化で行うことは、フォーム フィールドをサーバーに送信できる URL 文字列に変換することだけです。

提出された通常のフォームと同じように行動します。

$firstName = $_POST['firstname'];
....
于 2012-12-10T10:11:48.653 に答える
0

データは変数から取得され、$_POSTシリアル化を解除する必要はありません... ajaxリクエストを送信している間、シリアル化されたデータは配列としてシリアル化されていないためです

于 2012-12-10T10:44:39.280 に答える
0

メソッドがであるpostため、変数は他の投稿変数と同じように読み取られる必要があります。

$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
于 2012-12-10T10:09:56.597 に答える
0

問題はフォームの送信にあると思います。AJAX で投稿する場合は、jquerypostを確認してください。またはそうでなければTRY

<input type="submit" id="submit" value="SUBMIT" />

それ以外の

<input type="button" id="submit" value="SUBMIT" />

$_POST['firstname']投稿が成功すると、アクセスに問題はありませんでした。

于 2012-12-10T10:30:32.367 に答える